서블릿 설정(web.xml)

corncheese·2023년 7월 19일
0

서블릿 환경설정
웹 애플리케이션을 개발하며 여러 개의 서블릿 페이지를 작성한다. 서블릿은 웹에서 클라이언트로부터 요청받아 실행되는 자바 프로그램으로, 주로 서비스 처리를 위한 데이터 준비 작업과 메소드 호출 역할을 한다.

web.xml

서버에서 서블릿 실행에 관한 정보를 설정할 때는 web.xml에 servlet 태그로 설정한다. web.xml은 서버가 시작할 때 웹서버가 사용하는 파일로 웹 애플리케이션 서비스 실행에 관한 전반적인 내용을 정의하는 환경설정 파일이다.

// web.xml 파일에 서블릿을 정의

<servlet>
	<servlet-name>initParam</servlet-name>
    <servlet-class>com.test</servlet-class>
    <init-param>
    	<param-name>id</param-name>
        <param-value>test</param-value>
    </init-param>
</servlet>

servlet 태그

설정하려는 서블릿을 등록한다. servlet 태그를 사용하면 반드시 하위 태그로 servlet-name, servlet-class 가 있어야 한다.

init-param 태그

init-param 태그는 서블릿에 변수를 전달할 때 사용한다. 서블릿을 실행하면서 필요한 값을 외부에서 전달받아 실행할 수 있는데, 서블릿 소스에서 직접 값을 지정해서 사용해도 되지만, 실행환경에 맞게 동적으로 값을 할당하고자 할 때 외부에서 값을 전달할 수 있다.

load-on-startup 태그

load-on-startup 태그를 사용하면 웹 서비스가 시작될 때 서블릿 객체를 생성할 수 있다. 서블릿 객체가 메모리에 생성되는 시점은 클라이언트로부터 최초의 요청이 있을 때이다. 서버에 서블릿 클래스 파일이 존재하더라도 클라이언트로부터 실행 요청이 없으면 객체가 메모리에 생성되지 않는다.
-> 요청과 상관없이 웹 서비스가 시작될 때 서블릿 객체를 생성할 때 load-on-startup 태그를 사용한다.

ServletConfig

web.xml의 servlet태그에 설정한 정보를 서블릿 페이지 내에서 추출할 때는 ServletConfig 객체에서 제공하는 메소드를 사용한다. ServletConfig 객체는 서블릿이 실행될 때 자동으로 생성된다.

  • Servlet 객체 생성 -> ServletConfig 객체 생성 -> init(ServletConfig) -> HttpServletRequest, HttpServletResponse 객체 생성 -> service(HttpServletRequest, HttpServletResponse)

ServletConfig 또 다른 사용법

HttpServlet객체를 이용하는 방법으로 HttpServlet 객체는 모든 서블릿의 상위 객체이다. 그리고 HttpServlet 객체는 GenericServlet을 상속받는다.

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

유익한 글 잘 봤습니다, 감사합니다.

답글 달기