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가지 방법
- 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>
- 어노테이션(annotation) 이용
@WebServlet("/Servlet매핑명")
728x90