티스토리 뷰

JSP&Servlet

Servlet의 request,response

kalza 2018. 9. 14. 14:11

사용자의 요청(Request)과 웹서버의 응답(Response)을 담당하는 객체에 대해 공부해본다.


클라이언트로부터 WAS에 대한 요청이 오면(동적 페이지), 컨테이너는

HttpServletRequest , HttpServletResponse 객체를 생성한다.

그후 요청 URL에 매핑된 서블릿을 찾아 서블릿 스레드를 생성하고 service()를 호출하는데, 이 service()는 

전송방식(GET,POST)을 수행하는 메서드인 doGET()과 doPOST()를 호출하도록 설계돼있다. 

doGET()과 doPOST()에는 요청에 대한 응답처리를 수행하는 메서드로, HttpServlet 클래스에 포함되어 있는 멤버 메서드다.

위와 같이 응답처리를 위한 서블릿 클래스를 구현하기 위해서 HttpServlet을 상속받아야 한다.



1. HttpServlet


이클립스에서 서블릿 클래스 파일을 만들면 기본적으로 HttpServlet을 상속받는다는걸 알 수 있다.


 @WebServlet("/ServletEx")

 public class ServletEx extends HttpServlet {

 .

 .

 .

 }


HttpServlet은 위에서 언급했듯, doPOST(), doGET()을 포함한 멤버들을 갖고있다.





HttpServlet는 추상 클래스로, GenericServlet 클래스를 상속받고 있다.




다음은 HttpServlet의 상속 관계를 나타낸 그림이다.



ServletConfig,Servlet,Serializable. 무려 세개의 인터페이스가 구현된 GenericServlet클래스는  

init(),destory()를 비롯한 멤버를 갖고 있다.





2. HttpServletRequest, HttpServletResponse


HttpServletRequest는 요청에 대한 정보를 가지고 있는 객체로, 컨테이너가 HttpServlet의 service()의 인수로 넘겨준다.

클라이언트의 정보를 읽어올때 사용된다.

- request.getCookies();

- request.getSession();

- request.getAttribute(null);

- request.setAttribute();

- request.getParameter(null);

- request.getParameterValues(null);


반대로 HttpServletResponse는 응답에 대한 정보를 가지고 있는 객체로, 응답애 필요한 접근을 위해 사용된다.

- response.addCookie(null);

- response.getStatus();

- response.getWriter();

- response.getOutputStream();

- response.sendRedirect(null);




'JSP&Servlet' 카테고리의 다른 글

Cookie  (0) 2018.09.18
JSP 내장객체  (0) 2018.09.17
JSP 파일 템플릿 설정  (0) 2018.09.14
Servlet Life-Cycle  (0) 2018.09.14
Servlet 매핑 방법  (0) 2018.09.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함