티스토리 뷰

Servlet

서블릿 매핑

dev23 2024. 8. 11. 11:52
반응형

web.xml을 이용한 매핑

- 프로젝트의 web.xml 파일을 이용해 서블릿을 매핑할 수 있다.

 

* WebContent/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <servlet>
  	<servlet-name>aaa</servlet-name>
  	<servlet-class>servlet.FirstServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>aaa</servlet-name>
  	<url-pattern>/FirstServlet</url-pattern>
  </servlet-mapping>
</web-app>

 

<servlet> 브라우저에서 요청하는 매핑 이름에 대해 실제로 실행하는 서블릿 클래스 설정 태그
<servlet-name> <servlet-mapping> 태그의 <servlet-name>태그와 값이 동일함.
<servlet-class> 브라우저에서 요청하는 매핑 이름에 대해 실제로 기능을 수행하는 서블릿 클래스 설정
<servlet-mapping> - <servlet-name> 매핑 이름으로 요청 시 값이 같은 <servlet 태그 안의 <servlet-name> 태그와 연결됨.
<url-pattern> 브라우저에서 요청하는 논리적인 서블릿 이름

 

- 동시에 여러 개를 매핑하는 경우

<servlet>
	<servlet-name>aaa</servlet-name>
  	<servlet-class>servlet.FirstServlet</servlet-class>
</servlet>
<servlet>
  	<servlet-name>bbb</servlet-name>
  	<servlet-class>servlet.SecondServlet</servlet-class>
</servlet>
  
<servlet-mapping>
  	<servlet-name>aaa</servlet-name>
  	<url-pattern>/first</url-pattern>
</servlet-mapping>
<servlet-mapping>
  	<servlet-name>bbb</servlet-name>
  	<url-pattern>/second</url-pattern>
</servlet-mapping>

 

 

애너테이션 서블릿 매핑

- web.xml 이용하여 설정할 경우 복잡해진다는 단점이 있다.

- 따라서 서블릿 클래스에 기호(@) 이용해서 서블릿 표시를 해주면 훨씬 가독성이 좋아진다.

- 톰캣7 버전부터 서블릿 매핑을 web.xml 외에 애너테이션을 이용해 서블릿 클래스에 직접 설정할 있는

기능이 추가 되었다.

 

- 애너테이션을 이용해 서블릿 매핑을 하려면 @WebServlet 이용하면 된다. 애너테이션이 적용되는

 클래스는 반드시 HttpServlet 클래스를 상속받아야 한다.

 

package servlet;

import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class FirstServlet
 */
@WebServlet("/FirstServlet")
public class FirstServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("doGet() 메서드 호출");
	}

}

 

- 위 코드 블럭안의 class 키워드 위에 작성된 @WebServlet("/FirstServlet")처럼 사용한다.

반응형

'Servlet' 카테고리의 다른 글

서블릿 - 응답  (0) 2024.08.11
서블릿 - 클라이언트 요청 얻기  (0) 2024.08.11
서블릿의 기능  (0) 2024.08.11
서블릿 생성  (0) 2024.08.11
Java Servlet(자바 서블릿)  (0) 2024.08.10
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함