쯔이's Dev

web.xml( 서블릿 매핑) 본문

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 서블릿이 처리한다.

* 동작 방식:

  1. 클라이언트(브라우저 등)에서 /test1.do라는 URL로 요청을 보낸다.
  2. /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
반응형

'Servlet' 카테고리의 다른 글

parameter  (0) 2024.09.13