Java언어로 작성된 클래스로, HTTP Request에 Response를 리턴한다.
(출처: https://m.blog.naver.com/ka28/221985380809)
그림에 대한 설명
"WAS는 HTTP 요청을 수신하고, URL 및 요청의 종류에 따라 적절한 Servlet을 선택하여 요청을 전달한다."
이 문장 중에서 "적절한 Servlet을 선택하여 요청" 부분이 web.xml
이라는 웹서버에게 전달하는 상세 지시서에 작상한다.
<servlet>
<servlet-name>HomeServlet</servlet-name>
<servlet-class>Home.HomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/home</url-pattern>
</servlet-mapping>
web.xml
는 말그대로 WAS가 이것을 읽고, Web Application 설정대로 배포하는 것이다. 그러므로 변경이 있으면 재배포과정이 필수다.@WebServlet("/home")
이 어노테이션이다.(아래코드참조)@WebServlet("/home")
public class HomeServlet extends HttpServlet {
@Serial
private static final long serialVersionUID = 1L;
private List<String> contents;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// do something...
}
}
@WebServlet
이 사용되고, 여기어 web.xml에 추가했던 <url-pattern>
이 들어간다serialVersionUID
의 경우, 설명하자면 긴데, 요약하면 필드 변경에 대한 기록을 하여, 직렬화와 역직렬화 관련한 버전관리를 한다.doGet
매서드에서 요청에 대한 응답을 구성한다.