WebServer/JSP&Servlet

[Servlet] Servlet 작성 규칙과 서블릿 매핑

gangintheremark 2023. 8. 9. 14:07
728x90

서블릿 (Servlet)

Servlet 다양한 클라이언트 요청(Request)을 처리하고 동적인 웹 페이지를 생성하여 제공하는 Java 기반의 동적 웹 컴포넌트이다.

  • 클라이언트 요청에 대해 동적으로 실행되어 다양한 요구사항에 대한 반영이 가능
  • main 메서드와 같은 시작점 역할의 메서드가 제공되지 않는다.
  • Servlet의 응답결과는 html 형식으로 html 코드로 응답하는 추가 작업이 필요
    • MVC 패턴 적용하면 JSP가 이를 담당.
  • MVC 패턴에서 사용자의 요청을 받아 분석하고 비즈니스 층과 통신하여 처리하는 Controller 역할을 담당

 

Servlet 작성 규칙

  • package 지정 필수
  • 기본 생성자 필수
  • HttpServlet 상속 : extends HttpServlet
  • doGet(HttpServletRequest request, HttpServletResponse response) 
    또는  doPost(HttpServletRequest request, HttpServletResponse response)
  • 서블릿 매핑(Servlet Mapping)
package com.servlet;

@WebServlet("/test") 
public class test extends HttpServlet {
       
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
	}

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

	}
}

 

서블릿 매핑

클라이언트에서 요청하는 Servlet의 URL 값을 다른 값으로 변경하는 작업으로 보안 및 간소화의 장점을 제공

💡  Servlet 요청 URL : http://서버IP:포트번호/컨텍스트명/서블릿매핑
예시 ) http://localhost:8080/Test/test

 

Servlet 매핑정보를 설정하는 2가지 방법

  1. web.xml 설정

 web.xml은 웹 어플리케이션의 설정정보를 가진 xml파일로 WEB-INF 폴더에 저장되고 배치 지시자로 부른다. 

	<servlet>
        <servlet-name>Servlet매핑명</servlet-name>
        <servlet-class>패키지명을 포함한 Servlet명</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet매핑명</servlet-name>
        <url-pattern>/Servlet매핑명</url-pattern>
    </servlet-mapping>
  1. 어노테이션(annotation) 이용
@WebServlet("/Servlet매핑명")

 

728x90