까먹지 말자! 자주 보자!
서블릿(Servler) 동작원리 본문
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()메서드를 호출함으로써 서블릿이 동작하게 됨
*
* **/
}
}
----------------------------------------------------------------------------------------------------------------------------
'JSP' 카테고리의 다른 글
request와 response의 동작과정 (0) | 2016.05.18 |
---|---|
doGet Servlet과 doPost Servlet (get방식, post방식) (0) | 2016.05.18 |
웹의 원리 (0) | 2016.05.17 |
서블릿(Servlet), 서블릿 컨테이너, jsp (0) | 2016.05.17 |
빈즈란 ? & 이클립스에서 자바 빈즈(Bean) import하기 (0) | 2016.05.17 |