알버트의 개발하는 블로그

[Java] Servlet과 doGet(), doPost() 본문

웹개발/Java & JSP

[Java] Servlet과 doGet(), doPost()

알버트 2021. 12. 23. 13:38

1.Servlet
서블릿은 HttpServlet이라는 클래스를 상속받아 사용한다.

서블릿은 java언어를 사용하여 웹 프로그램을 제작해 준다.

 


2.doGet()과 doPost(), request, response
클라이언트에게 요청이 들어오면 WAS는 request객체와 response객체를 생성한다. 

이 객체를 doGet()과  doPost() 메소드의 매개변수로 넘겨준다.
예를 들자면, 우리가 로그인을 할 때 ID와 비번을 request객체에 담아서 전달하면 WAS에서는 이를 받아 DB에서의 절차를 통해 검증하고 이에 대한 결과값을 response객체에 실어 클라이언트에게 전달한다. 즉, WAS는 request, response객체를 통해서 클라이언트와 통신한다.
JSP와 비교하면 JSP는 html을 지원하지만 servlet은 자바파일이다. 따라서 응답을 할 때 반드시 html로 응답하겠다는 ContentType을 지정해줘야 한다. 

또한 스트림을 이용해서 태그를 보내야 한다. 클라이언트에서 웹어플리케이션으로 request할때 GET & POST방식을 이용한다.
html에서 호출하는 메소드에 따라서 get으로 할지 post로 할지 정해진다.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
		response.setContentType("text/html; charset=utf-8");
 		PrintWriter writer = response.getWriter();
		writer.println("<head>");
		writer.println("<body>Hello! World!");
		writer.println("</body>");
		writer.println("</head>");
		writer.close();
}

 


3.doGet() & doPost(()의 차이점
GET : URL값으로 정보가 전송되기 때문에 보안이 약함
POST : header을 이용해 정보가 전송되기 때문에 보안이 강함.