Sio's Programming

Servlet (doGet(),doPost(),컨텍스트 패스(Context Path) 본문

Programming/JSP

Servlet (doGet(),doPost(),컨텍스트 패스(Context Path)

SSio 2018. 5. 7. 02:46

프로젝트 만들기


Servlet은 JAVA언어를 사용하여 웹프로그램을 제작하는 것 입니다.

간단한 Servlet 프로젝트를 만들어 보면서 전체적인 구조를 살펴보도록 합니다.


-Servlet클래스는 HttpServlet 클래스를 상속 받음.


1
2
3
4
5
6
7
8
9
10
/**
 * Servlet implementation class HelloWorld
 */
@WebServlet("/HW")
public class HelloWorld extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
cs

HttpServlet 클래스를 상속 



-요청처리객체 및 응답처리객체를 톰캣에서 받음.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("doGet");
        response.setContentType("text/html; charset=euc-kr");
        PrintWriter writer = response.getWriter();
        
        writer.println("<html>");
        writer.println("<head>");
        writer.println("<body>");
        writer.println("HelloWorld~~~~~~");
        writer.println("</body>");
        writer.println("</head>");
        writer.println("</html>");
        
        writer.close();
    }
cs


Request  = 요청처리객체


클라이언트가 요청하는 객체 


예: 로그인 페이지를 보면 ID / PW를 입력해서 회원가입 유무를 확인하는데 요청을 할때 Request 객체에 요청을 함


Response = 응답처리객체


예: WAS에서 DB로 요청해서 DB에서 ID/PW를 확인해서 회원유무 정보를 Response객체에 실어서 클라이언트에 전달함




response.setContentType("text/html; charset=euc-kr"); //클라이언트한테 응답을 해줄때는 html 파일로 한다



Stream을 통해 PrintWriter를 사용해서 직접 코드를 입력해서 전달해야 한다.




요청 하는 방식 2가지


GET 방식 : URL값으로 정보가 전송되어 보안에 약함 

HTML 에서 Form 태그 methos 속성값 = Get


POST 방식 : header를 이용해 정보가 전송되어 보안에 강함.

HTML 에서 Form 태그 method 속성값 = POST




컨텍스트 패스(Context Path)


WAS(Web Application Server)에서 웹어플리케이션을 구분하기 위한 Path 입니다.


이클립스 -> Severs에서 server.xml 을 보면 path가 나옴 context 안에 path 확인


굳이 우리가 만들지 않아도 이클립에서 자동으로 생성해줌