기술지원 문의

Resin에서는 매핑 어떻게 시키나요?
전인규 / 2008-07-18 17:10

레진 컨피그에서 다음과 같이 수정을 했구요.

268행 <web-app id=\"/\" document-directory=\"webapps/ROOT\"/>

        <web-app id=\"/\" document-directory=\"webapps/> 이와 같이 수정을 했습니다.

 

두번째로 이 폴더는 다음과 같이 되어 있습니다.

 

webapps

             - WEB-INF

             - index.jsp

                             - classes

                             - web.xm

                                             - abc

                                                       - JNDI.class

 

이렇게 되어 있는데 이 web.xml에서 다음과 같이 설정을 했습니다.

 

 <servlet>
        <servlet-name>test</servlet-name>
        <servlet-class>abc.JNDI</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>test</servlet-name>
        <url-pattern>/jndi.abc</url-pattern>
    </servlet-mapping>

 </servlet>

 

여기서 index.jsp를 실행해서 다음과 같이 링크를 했습니다.

<a href=\"jndi.abc\" onfocus=\"blur()\">Index.jsp</a>

 

보통 톰캣등에서 DD를 세팅해주면 이와 같이 적용을 할 수 있습니다.

그런데 현재 기세팅된 레진에서는 이와 같이 되지 않아서 어떤 부분을

수정하면 되는지 궁금해서 글 올립니다.

 

[답변]Resin에서는 매핑 어떻게 시키나요?
관리자 / 2008-07-21 10:06

안녕하세요.. 기술지원팀입니다..

 

다음은 서블릿 메핑에 관한 예제입니다.

이러한 부분은 Servlet 스팩을 준수하기 때문에 어느 was 에서도 동작가능합니다.

-----------------------------------------------------------------------

WEB-INF/web.xml

 

<web-app xmlns=\"http://java.sun.com/xml/ns/j2ee\" version=\"2.4\"
         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
         xsi:schemaLocation=\"http:/java.sun.com/dtd/web-app_2_3.dtd\">
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>test.HelloServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>

 

WEB-INF/classes/test/HelloServlet.java

 

package test;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;

/**
* Hello world servlet.  Most servlets will extend
* javax.servlet.http.HttpServlet as this one does.
*/
public class HelloServlet extends HttpServlet {
  /**
   * Implements the HTTP GET method.  The GET method is the standard
   * browser method.
   *
   * @param request the request object, containing data from the browser
   * @param repsonse the response object to send data to the browser
   */
  public void doGet (HttpServletRequest request,
                     HttpServletResponse response)
    throws ServletException, IOException
  {
    // Returns a writer to write to the browser
    PrintWriter out = response.getWriter();

    // Writes the string to the browser.
    out.println(\"Hello, world!\");
    out.close();
  }

-----------------------------------------------------------------------

 

<servlet>
        <servlet-name>test</servlet-name>
        <servlet-class>abc.JNDI</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>test</servlet-name>
        <url-pattern>/jndi.abc</url-pattern>
    </servlet-mapping>

 </servlet>   <---- 오타인거 같습니다.

 

다음을 지워 보세요.

서버 기동시의 로그를 살펴보시면 정확한 원인을 찾으실수 있습니다..

 

그럼 늘 행복하세요 ^__________________^