Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Archives
Today
Total
관리 메뉴

까먹지 말자! 자주 보자!

서블릿(Servler) 동작원리 본문

JSP

서블릿(Servler) 동작원리

Phonetographer 2016. 5. 18. 14:47

MyServlet.java

----------------------------------------------------------------------------------------------------------------------------

package doo;


import java.io.IOException;

import java.io.PrintWriter;


import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


/**

 * Servlet implementation class serveletTest

 */

@WebServlet("/MyServlet")

public class MyServlet extends HttpServlet{

public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{

PrintWriter out = res.getWriter(); //응답 객체로부터 getWriter() 메소드를 이용해서 클라이언트로 스트림을 얻는다.

res.setContentType("text/html;charset=euc-kr");

// setContentType의 원형

// public void setContentType(java.lang.String type)

// 응답 페이지의 MIME타입은 text/html이며, 인코딩 방법은 한글을 처리하기 위해 euc-kr로 지정

// 아래 코드는 요청 객체인 HttpServletRequest의 정보를 클라이언트로 출력하느 코드.

// out은 HttpServletResponse객체로부터 얻은 클라이언트와의 스트림 객체로써,

// print()메서드를 이용해서 메시지를 출력한다.

out.println("<HTML><BODY>");

out.println(req.getProtocol()+"<br>");

out.println(req.getRemoteAddr() + "<br>");

out.println(req.getRemoteHost()+"<br>");

out.println(req.getScheme()+"<br>");

out.println(req.getServerName()+"<br>");

out.println(req.getServerPort()+"<br>");

out.println("</body></html>");


/**

 * 요청(url입력)이 서버로 전달되면 웹서버는 해당 요청 정보를 서블릿 컨테이너에게 전달한다. 웹서버로부터 요청을 받은 서블릿 컨테이너는

 * MyServlet을 찾아서 MyServlet 객체를 로딩하게 된다. 다음으로 요청 정보를 이용해서 요청(HttpServletRequest)과 응답(HttpServletResponse)

 * 객체를 만든 후 로딩된 MyServlet 객체의 doGet()메소드를 호출해서 서블릿을 실행한다. 마지막으로 서블릿을 수행한 후 만들어진 결과를 응답객체를 통해 클라이언트에게 돌려준다.

 * 

 * 서블릿의 동작과정

 * 1. 서블릿 컨테이너로 요청정보 전달.

 * 2. 요청된 서블릿 검색

 * 3. 서블릿이 없다면 요청된 서블릿 객체 생성

 * 4. 요청, 응답 객체 생성

 * 5. 서블릿 호출 및 실행

 * 6. 응답 객체를 통해 클라이언트에게 결과 반환

 * 

 * doGet메서드는 서블릿 프로그래머에 의해 재정의된 메서드로,

 * Invoker가 doGet()메서드를 호출함으로써 서블릿이 동작하게 됨

 * 

 * **/

}

}

----------------------------------------------------------------------------------------------------------------------------