Published 2020. 8. 6. 20:01
728x90
반응형

서블릿이란?

Server + Applet의 합성어, JAVA 언어를 이용하여 사용자의 요청을 받아 처리하고 그 결과를 다시 사용자에게 전송하는 역할의 Class파일을 말함

즉 웹에서 동적인 페이지를 java로 구현한 서버측 프로그램

 

 

서블릿 설계 규약

1. 모든 서블릿은 javax.servlet.Servlet 인터페이스를 상속 받아 구현

2. 서블릿을 구현 시 Servlet 인터페이스와 ServletConfig 인터페이스를 javax.servlet.GenericServlet에 구현

3. HTTP 프로토콜을 사용하는 서블릿은 javax.servlet.http.HttpServlet

   클래스는 javax.servlet.GenericServlet을 상속한 클래스로 서블릿은 httpServlet클래스를 상속받음

4. 서블릿의 Exception을 처리하기 위해서는 javax.servlet.ServletException 을 상속 받아야 함

 

 

배포서술자(DD)

어플리케이션에 대한 전체 설정정보를 가지고 있는 파일로 이 정보를 가지고 웹 컨테이너가 서블릿을 구동, xml파일로 요소(태그)로 이루어져 있음

어플리케이션 폴더의 WEB-INF 폴더에 web.xml이라는 파일임

 

 

설정정보

Servlet정의/Servlet 초기화 파라미터

Session설정 파라미터

Servlet/jsp 매핑/MIME type 매핑

보안설정

welcome file list 설정

에러 페이지 리스트, 리소스 그리고 환경변수

 

 

파일 세부 내용

<web-app> 루트속성, 문법식별자 및 버전의 정보를 속성값으로 설정 
<context-param> 웹 어플리케이션에서 공유하기 위한 파라미터 설정 
<mime-mapping> 특정파일 다운로드시 파일이 깨지는 현상방지 
<servlet>~<servlet-class> / <servlet-mapping> 서블릿 맵핑 
<servlet>~<servlet-class> 컨테이너에 서블릿 설정 
예) default : 공유자원제공 및 디렉토리목록 제공,
     jsp : jsp컴파일과 실행 담당 

<welcome-file-liest> 시작페이지 설정 
<filter> 필터정보 등록 
<error-page> 에러발생시 안내페이지설정 
<session-coinfig> session기간 설정 
<listener> 이벤트 처리 설정(6가지)

 

 

서블릿 매핑

client가 servlet에 접근할 때 원본 클래스명이 아닌 다른 명칭으로 접근시 사용 설정방법은 web.xml을 이용하여 적용하는 방법과 @annontation를 이용하는 방법이 있음

 

 

web.xml을 이용

<servlet>

   <servlet-name>mapping명칭</servlet-name>

   <servlet-class>실제 클래스명칭</servlet-class> 

</servlet> 

<servlet-mapping>

   <servlet-name>mapping명칭</servlet-name>

   <url-pattern>사용자 접근명칭</url-pattern> 

</servlet-mapping>

 

@annotation 이용 

@web-Servlet(“/매핑명칭”) 

    public class 서블릿명칭 extends HttpServlet {
        servlet코드
    }

 

 

server.xml

WAS서버에 대한 설정을 변경할 수 있는 파일

 

 

설정정보

Context path설정(서버내 애플리케이션 설정) 

어플리케이션 포트설정

default접속 경로 설정(localhost설정)

특정 이벤트 설정 등이 있음

 

 

컨텍스트 패스(Context Path)

어플리케이션에 접근하는 경로를 말함

즉, 어플리케이션의 root경로라고 볼 수 있음

반응형

'프로그래밍 > JSP' 카테고리의 다른 글

08.11(Deployment Descriptor(DD) 설정 - 초기값 설정)  (0) 2020.08.11
08.10(Session & Cookie)  (0) 2020.08.10
08.07(서블릿 메소드)  (0) 2020.08.07
08.05(tomcat관련 참고사항)  (0) 2020.08.05
08.04(web server)  (0) 2020.08.04
복사했습니다!