서블릿을 만들기 위해 반드시 상속해야 할 필수 클래스
상속 구조
Servlet (인터페이스) - GenericServlet (추상클래스) - HttpServlet
void init()
void destroy()
void service(request, response)void doGet(request, response)void doPost(request, response)
클라이언트가 데이터를 입력하거나, 클라이언트의 정보에 대한 요청 값을 가지고 있는 클래스
String getParameter(name)
String[] getParameterValues(name)
Enumeration getParameterNames()void setCharacterEncoding(env)
클라이언트가 요청한 정보를 처리한 응답 내용을 담고 있는 클래스
void setHeader(name, value)
void setContentType(type)
String getCharacterEncoding()void sendRedirect(url)
클라이언트가 세션 정보를 저장하고 세션 기능을 유지하기 위해서 제공되는 클래스
String getId()
long getCreationTime()
long getLastAccessedTime()void setMaxInactiveInterval(time)int getMAxInactiveInterval()boolean isNew()void invalidate()
init() : 서블릿이 처음으로 요청이 되어 객체가 생성될 때 호출되는 메소드service() : 클라이언트의 요청이 있을 때마다 호출되는 메소드destroy() : 서블릿 서비스의 종료 및 재시작, 서블릿 코드가 수정될 때 호출되는 메소드doGet() : 클라이언트의 Get 요청이 있을 때마다 호출되는 메소드doPost() : 클라이언트의 Post 요청이 있을 때마다 호출되는 메소드
@WebServlet("/ch08/exampleServlet02")
public class ExampleServlet02 extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException { ... }
@Override
public void destory() { ... }
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... }
// getJsp.jsp
<form method="get" action="getServlet">
msg : <input name="msg">
<input type="submit" value="전송>
</form>
@WebServlet("/ch08/getServlet")
public class GetServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// getJsp.jsp에서 입력한 msg값의 문자열을 리턴함
String msg = request.getParameter("msg");
// 답하는 페이지의 ContentType과 charset을 설정함
response.setContentType("text/html; charset=EUC-KR");
// 응답하는 페이지의 out 스트림을 만듦
PrintWriter out = response.getWriter();
// msg 값이 화면에 출력됨
out.println("<h2>msg : "+ msg + "</h2>");
}
}
// postJsp.jsp
<form method="post" action="postServlet">
id : <input name="id"><br/>
pwd : <input type="password" name="pwd"><br/>
<input type="submit" value="가입">
</form>
@WebServlet("/ch08/postServlet")
public class PostServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// getJsp.jsp에서 입력한 문자열을 리턴함
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
if (id != null && pwd != null) {
// 요청 객체에서 세션 리턴
HttpSession session = request.getSession();
// 세션에 idKey라는 값으로 id값을 저장함
session.setAttribute("idKey", id);
}
// 응답페이지는 login.jsp로 설정함
response.sendRedirect("login.jsp");
}
}