: 동적으로 응답결과를 만들어내는 (동적인 처리를 하는 프로그램) 역할을 한다.
WAS에서 동작하는 Java 클래스이다.
servlet은 HttpServlet 클래스를 상속받는다.
1. 작성 방법 2가지
servlet 3.0 이상
web.xml파일(배포기술자)을 사용하지 않고 자바 annotation을 사용한다.
ex)
@WebServlet("/ten")
public class TenServlet extends HttpServlet {
servlet 3.0 미만
web.xml파일에 servlet을 등록한다.
ex) [web.xml]
<servlet>
<description></description>
<disply-name>TenServlet</display-name>
~~~
2. HTTP프로토콜 요청, 응답
: 클라이언트가 요청하면 서버가 응답한다. 이때 서버는 요청을 받아내는 객체와 응답하기위한 객체를 만들어낸다.
ex)
protected void doGet(HttpServletRequest request, HttpServletResponse) throws ServietException, IOException {
response.serContentType("text/html;charset=utf-a");
PrintWriter out = response.getWriter();
out.println("<h1>1~10까지 출력</h1>");
for(int i = 1; i<=10; i++) {
out.println(i+"<br>");
}
out.close();
}
3. Lifecycle
: 클라이언트로부터 요청이 들어오면 was는 HttpServletRequest객체와 HttpServletResponse 객체를 생성한다.
이 두 객체는 요청정보에 있는 path로 매핑된 servlet에 전달되며, doGet(), doPost(), service()의 파라미터로 사용된다.
HttpServletRequest객체
: 요청할 때 가지고 들어온 정보들을 담는다. (헤더, 파라미터, 쿠키 ,uri, url 등의 정보를 읽어 들이는 메소드를 가지고 있다.)
Http 프로토콜의 request 정보를 서블릿에 전달하기 위해 사용된다.
HttpServletResponse 객체
: 현재 접속한 클라이언트에게 전송할 (응답) 정보를 담는다.
servlet이 이 객체를 통해 응답메세지, 코드 등을 보낸다.
HttpServlet의 service(request, response)메소드
HttpServlet의 service 메소드는 템플릿 메소드 패턴으로 구현한다.
클라이언트 요청이 GET이면 doGet(request, response)메소드를 호출한다.
POST면 doPost(request, response)메소드를 호출한다.
'JSP, SERVLET' 카테고리의 다른 글
SCOPE (0) | 2023.01.16 |
---|---|
JSP (0) | 2023.01.12 |
EL JSTL list 값 가져오기 (0) | 2022.12.30 |
<form>태그 multipart/form-data 인코딩 방식 (0) | 2022.11.01 |
jsp :param, :include ... flush 태그 (0) | 2022.10.31 |