본문으로 바로가기
반응형

 

 

 

HttpServlet 이란? 

 

 

 

HttpServlet GenericServlet으로부터 상속받은 클래스이다.

여기서 GenericServlet는 또 여러 인터페이스를 상속받는다.

 

 

 

 

※ ServletEx - 개발자가 작성한 servlet

 

 

 

 

왜 이렇게나 많은 클래스, 인터페이스로 부터 상속을 받냐면

HttpServlet, GenericServlet 등등의 클래스는

사용자와 서버와의 통신에 관련하여 필요한 기능들을 많이 품고 있기 때문이다.

 

 

 

 

예를 들자면,

 

 

사용자가 서버에게 어떤 요청((회원정보 조회, 로그인 등등)을 할 수 있는데

우리가 작성한 서블릿 파일은

HttpServlet, GenericServlet 등 부모 클래스로부터 통상적인 요청-응답 관련 기능을

상속받아 사용할 수 있다.

 

 

 

사용자와 서버(tomcat)과의 요청 및 응답

 

 

 

 

 

 

 

 


 

● HttpServletRequest, HttpServletResponse 

 

 

 

 

 

자바 프로젝트에서 Servlet을 작성하면

아래와 같이 doGet, doPost 메서드가 있는데,

 

 

이들의 매개변수에는 HttpServletRequest와 HttpServletResponse 가 있는 걸 볼 수 있다.

 

public void doGet(HttpServletRequest request, HttpServletResponse response){

}
public void doPost(HttpServletRequest request, HttpServletResponse response){

}

 

 

 

 

사용자의 요청(request)과 서버로부터 응답(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) jsp 혹은 servlet에서 생성한 속성값을 불러올 수 있다.
setAttribute(null, null) jsp 혹은 servlet에서 입력한 변수에 속성값을 지정할 수 있다.

 

 

 

 

● HttpServletResponse 클래스의 주요 메서드

 

 

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

 

반응형