엄지월드

@WebServlet 본문

java/JSP

@WebServlet

킨글 2022. 7. 19. 09:00
  • 애너테이션 서블릿 매핑
  • @WebServlet의 속성 값을 통해 해당 Servlet과 매핑될 URL 패턴을 지정 
  • URL 매핑 방법
    • 1) web.xml에 작성
    • 2) Servlet 파일 내 어노테이션(@) 활용
      • 서블릿 파일 내 클래스 위에  어노테이션 선언 
      • @WebServlet("/hello") 
  • URL 매핑을 하는 이유
    • URL의 간소화
    • 실제 서블릿 클래스를 공개하지 않기 위해서이다. 실제 호출되는 서블릿 클래스는 HelloServlet이지만 외부에서 이 서블릿을 요청할 때에는 서블릿 클래스 이름이 아닌 서블릿 클래스와 매핑된 URL인 hello로 접근한다. 
    •  
  • 계층 구조
    • ourpackage.OurServlet -> javax.servlet.http.HttpServlet -> javax.servlet.Generic Servlet -> javax.servlet.Servlet
  • 주요 Method
    • Init() Method
      • 서블릿 요청시 맨 처음에 단 한번 수행
      • 서블릿 초기화 작업 수행
    • Service Method
      • doGet, doPost 이외에도 특정 Http Method를 수행
      • 서블릿 요청시 매번 수행
      • 실제로 클라이언트의 요청을 수행하는 비즈니스 로직을 수행
    • Destroy Method
      • 서블릿이 Container에서 소멸될 때 수행
      • 서블릿의 마무리 작업을 수행
  • 주의점
    • 매핑명(URL 패턴)이 이미 사용된 URL 패턴과 중복되지 않도록 주의
    • 중복되면 톰캣 시작 시 에러 메시지 발생하며 서버가 정상적으로 뜨지 못함
      • Caused by: java.lang.IllegalArgumentException: 이름이 [aaa]과 [sec01.ex01.ThirdServlet]인 두 서블릿들 모두 url-pattern [/first]에 매핑되어 있는데, 이는 허용되지 않습니다.
      • 매핑이 동일하게 되더라도 IDE에서 선경고를 띄어주진 않음
  •  

'java > JSP' 카테고리의 다른 글

'\ufeff'  (0) 2022.12.05
[jsp] response 한글 깨짐 현상 (UTF-8 설정 반영 안됨)  (0) 2022.12.04
JSP에서 Ajax Response UTF-8 한글 깨짐 현상  (0) 2022.07.18
okhttp를 활용한 RestAPI 호출 방법  (2) 2022.07.12
gradle import 방법  (0) 2022.07.12
Comments