Servlet
web.xml( 서블릿 매핑)
jjhim531
2024. 9. 14. 00:23
반응형
<servlet>
<description></description>
<display-name>RequestGetServlet</display-name>
<servlet-name>RequestGetServlet</servlet-name>
<servlet-class>com.kh.controller.RequestGetServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RequestGetServlet</servlet-name>
<url-pattern>/test1.do</url-pattern>
</servlet-mapping>
위의 XML 코드 조각은 Java 서블릿에서 web.xml 파일에 서블릿을 등록하고 URL 매핑을 설정하는 내용이다.
이 설정을 통해 특정 URL 패턴으로 요청이 들어오면, 해당 요청을 특정 서블릿 클래스가 처리하도록 지정할 수 있다.
1. <servlet> 태그
서블릿을 정의하는 부분. 이 부분에서 서블릿의 이름과 클래스 정보를 설정할 수 있다.
<servlet>
<description></description>
<display-name>RequestGetServlet</display-name> <!-- 서블릿 이름 -->
<servlet-name>RequestGetServlet</servlet-name> <!-- 서블릿 이름 -->
<servlet-class>com.kh.controller.RequestGetServlet</servlet-class> <!-- 실제 서블릿 클래스 경로 -->
</servlet>
- <display-name>: 서블릿의 이름 지정. 이는 서블릿을 식별할 수 있는 이름이다.
- <servlet-name>: 서블릿의 이름을 지정하는 태그. <servlet-mapping>과 연결되는 부분이다.
- <servlet-class>: 서블릿 클래스의 경로 지정.
이 경우, com.kh.controller.RequestGetServlet 클래스를 서블릿으로 사용하고 있다.
2. <servlet-mapping> 태그
서블릿을 URL 패턴과 매핑하는 부분.
특정 URL 패턴으로 들어온 요청이 정의된 서블릿으로 전달되도록 설정한다.
<servlet-mapping>
<servlet-name>RequestGetServlet</servlet-name> <!-- 매핑할 서블릿 이름 -->
<url-pattern>/test1.do</url-pattern> <!-- 해당 서블릿이 처리할 URL 패턴 -->
</servlet-mapping>
- <servlet-name>: 이 태그는 어떤 서블릿과 연결할 것인지 지정하는 부분.
이 경우, RequestGetServlet이라는 이름의 서블릿과 연결된다. - <url-pattern>: 해당 서블릿이 처리할 URL 패턴을 정의하는 부분.
이 경우 /test1.do로 들어오는 요청은 RequestGetServlet 서블릿이 처리한다.
* 동작 방식:
- 클라이언트(브라우저 등)에서 /test1.do라는 URL로 요청을 보낸다.
- /test1.do 패턴은 RequestGetServlet 서블릿에 매핑되어 있기 때문에, 이 요청은 com.kh.controller.RequestGetServlet 클래스에서 처리된다.
<결론>
web.xml 파일의 역할 :
- 서블릿 매핑: web.xml 파일은 Java 서블릿을 웹 애플리케이션과 연결하고, 특정 URL이 들어왔을 때 어떤 서블릿이 처리할지를 설정하는 중요한 파일이다.
- URL 패턴 매핑 : <url-pattern>을 사용하여 서블릿에 들어오는 URL 요청을 처리할 수 있다.
예를 들어, 여러 URL을 하나의 서블릿으로 처리하도록 설정할 수도 있다.
예시 요청:
- 만약 사용자가 웹 브라우저에서 http://localhost:8080/test1.do로 요청을 보내면, 이 요청은 com.kh.controller.RequestGetServlet 클래스가 처리하게 된다.
* 추가 설명:
- 다양한 URL 패턴: url-pattern에서 다양한 패턴을 사용할 수 있다.
- /* : 모든 URL 요청을 해당 서블릿이 처리.
- /test/* : /test/로 시작하는 모든 URL 요청을 처리.
- *.do : .do로 끝나는 모든 요청을 처리.
728x90
반응형