상세 컨텐츠

본문 제목

서블릿(Servlet) : Dynamic Web module 2.5 와 3.1

JSP

by kwanghyup 2019. 11. 10. 17:06

본문

Dynamic Web module 2.5 

다이나믹 웹 프로젝트 생성  

 

서블릿을 만들자 

class name : TestServlet

package: servlet

매핑 부분을 다음과 같이 하고 Finish버튼 누름 

 서블릿 클래스가 만들어졌다.

Web.xml로 가자

Web.xml은 서블릿에 대한 설정을 담당함

 

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_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>module2.5</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
    <description></description>
    <display-name>TestServlet</display-name>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>servlet.TestServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/test.do</url-pattern>
  </servlet-mapping>
  
</web-app>

추가된 부분

<servlet>
    <description></description>  
    <display-name>TestServlet</display-name> 
    <servlet-name>TestServlet</servlet-name> 
    <servlet-class>servlet.TestServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/test.do</url-pattern>
  </servlet-mapping>

<servlet>

  <description></description> : 서블릿에 관한 설명 , 생략 가능 

  <display-name>TestServlet</display-name> 서블릿 별칭 , 생략가능

  <servlet-name>TestServlet</servlet-name> 서블릿 클래스 이름, 생성한 서블릿 클래스의 이름과 일치해야한다.

  <servlet-class>servlet.TestServlet</servlet-class> 생성한 서블릿 클래스의 풀패키지를 기술함 

</servlet>

 

<servlet-mapping>

    <servlet-name>TestServlet</servlet-name서블릿 클래스 와 일치

    <url-pattern>/test.do</url-pattern매핑 : test.do로 요청을 받아 요청을 처리한다.

  </servlet-mapping>

  

 

Web Dynamic module 3.1

위와 동일한 방법으로 모듈버전만 변경하여 다이나믹 프로젝트 생성

별도로 지정하지 않으면 web.xml파일이 자동으로 생성되지 않음

 

TestServlet.java

package servlet;

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

@WebServlet("/test.do")
public class TestServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public TestServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

 

@WebServlet("/test.do")  : 2.5 와 다르게 이런 애노테이션이 추가됨 

web.xml 의 설정 정보를 애노테이션 방식으로 할 수 있음 

 

 

@WebServlet("/test.do")  <--- 이것은 결국 아래 녀석이랑 같은거다

<servlet>
    <description></description>
    <display-name>TestServlet</display-name>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>servlet.TestServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/test.do</url-pattern>
  </servlet-mapping>

 

관련글 더보기

댓글 영역