티스토리 뷰

Servelt 동작 구조

 

HttpServlet을 상속받은 서블릿 동작 구조

 

  • 클라이언트 요청에 따라 서블릿 컨테이너는 service() 메서드를 호출하고, service() 메서드는 요청이 GET인지 POST인지 구분하여 각각 doGet(), doPost() 메서드를 호출한다.
GET 방식
서버에 있는 정보를 가져오려고 설계된 방법으로, 서버에는 최대 240Byte까지 데이터를 전달할 수 있다.
URL이 노출되기 때문에 보안에 문제가 생길 수 있다.

POST 방식
서보로 정보를 올리려고 설계된 방법으로, 서버에 전달할 수 있는 데이터 크기에 제한이 없다.
URL에는 매개변수가 표시되지 않는다.

 

HttpServlet 클래스

 

  • HttpServlet 클래스에서 사용자 요청을 처리하는 doGet/doPost 메서드는 모두 HttpServletRequestHttpServletResponse 객체를 매개변수로 가지고 있다.
  • HttpServletRequestHttpServletResponse 객체는 서블릿과 클라이언트 사이를 연결해주는 중요한 객체들 이다.

 

doGet메서드와 doPost메서드

 

public void doGet(HttpServletRequest request, HttpServletResponse response)
public void doPost(HttpServletRequest request, HttpServletResponse response)

 

 

HttpServletRequest클래스의 주요 메서드

 

메서드 설명
getParameterNames() 현재 요청에 포함된 매개변수 이름을 열거 형태로 넘겨준다.
getParameter(name) 문자열 name과 같은 이름을 가진 매개변수 값을 가져온다.
getParameterValues(name) 문자열 name과 같은 이름을 가진 매개변수 값을 배열 형태로 가져온다.                    ( 주로 checkbox, mutilple list 등에 사용 )
getCookies() 모든 쿠키 값을 javax.servlet.http.Cookie의 배열 형태로 가져온다.
getMethod() 현재 요청이 Get인지, Post인지 파악해서 가져온다.
getSession() 현재 세션 객체를 가져온다.
getRemoteAddr() 클라이언트의 IP 주소를 알려준다.
getProtocol() 현재 서버의 프로토콜을 문자열 형태로 알려준다.
setCharacterEncoding() 현재 JSP로 전달되는 내용을 지정한 캐리터셋을로 변환해 준다.                                HTML 폼에서 한글을 입력할 때 정상적으로 처리하려면 반드시 필요하다.
getAttribute(name) ''
setAttribute(null, null) ''

 

HttpServletResponse 클래스의 주요 메서드

메서드 설명
setContentType(type) 문자열 형태의 type에 지정된 MIME Type으로 Content Type을 지정한다.
setHeader(name, value) 문자열 name의 이름으로 문자열 value 값을 헤더로 설정한다.
setDateHeader(name, date) 문자열 name의 이름으로 date에 설정된 밀리세컨드 시간 값을 헤더에 설정한다.
sendRedirect(url) 클라이언트 요청을 다른 페이지로 보낸다.

 

참고

  • 황희정, "프로젝트로 배우는 자바 웹프로그래밍", 한빛아카데미
  • 실전 JSP (ver.2018) - 신입 프로그래머를 위한 강좌, 인프런
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/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
글 보관함