서블릿(servlet)

April 25, 2018 | Author: Anonymous | Category: Software
Report this link


Description

서블릿 Servlet 서블릿 Servlet 이정훈 https://github.com/sjh836 1. 서블릿이란? HTTP protocol 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속하여 개발하며, Servlet은 Container에 의해서 실행되고, 관리된다. HTML 변경시 Servlet을 재컴파일 해야 하는 단점이 있다. 서블릿은 외부 요청마다 프로세스보다 가벼운 스레드로써 응답 2. JSP와 서블릿의 차이점 JSP: HTML 문서 안에 Java 코드를 포함하고 있다. MVC에서 View역할 서블릿: 자바 코드 안에 HTML을 포함하고 있다. MVC에서 Controller역할 3. 서블릿 컨테이너(Tomcat)란? HTTP 요청을 받아서 Servlet을 실행하고 생명주기를 관리하는 역할을 한다. Servlet과 웹 서버(Apache, nginx..)가 서버 통신 할 수 있는 방법을 제공 멀티 스레딩을 지원하여 클라이언트의 다중 요청을 알아서 처리 4. 서블릿 동작과정 사용자가 URL을 클릭하면 HTTP Request를 Servlet Container에 보낸다. Servlet Container는 HttpServletRequest, HttpServletResponse 두 객체를 생성한다. 사용자가 요청한 URL을 분석하여 어느 서블릿에 대한 요청인지 찾는다. (DD를 참조하여 분석) 만일 그 클래스가 웹 컨테이너에서 한 번도 실행된 적이 없거나 현재 메모리에 생성된 인스턴스(프로세스)가 없다면 새로 인스턴스를 생성하고(메모리에 로드하고) init()메소드를 실행하여 초기화 한 뒤 스레드를 하나 생성한다. 이미 인스턴스가 존재할 경우에는 새로 인스턴스를 생성하지 않고 기존의 인스턴스에 스레드만 하나 새로 생성한다. 각 서블릿 인스턴스는 웹 컨테이너당 하나만 존재하기 때문에 init() 메소드는 각 서블릿 당 한 번씩만 호출된다. 컨테이너는 서블릿 service() 메소드를 호출하며, POST, GET여부에 따라 doGet() 또는 doPost()가 호출된다. doGet() 또는 doPost() 메소드는 동적인 페이지를 생성한 후 HttpServletResponse객체에 응답을 보낸다. 응답이 완료되면 HttpServletRequest, HttpServletResponse 두 객체를 소멸시킨다. 배포서술자(DD) web.xml Servlet, Error Page, Listener, Fillter, 보안 설정등 Web Application의 설정 파일이다. URL과 실제 서블릿의 매핑 정보도 담고 있다. 하나의 웹 어플리케이션에 하나만 존재한다. 보통 Web Document Root 디렉토리에 WEB-INF 폴더 아래 web.xml 파일로 존재한다. 5. 서블릿 .java와 .class 파일 경로


Comments

Copyright © 2024 UPDOCS Inc.