728x90
초기화 매개변수는 웹 페이지가 실행될 때 필요한 정보를 전달해주며 서블릿 프로그램이 처음 실행될 때 클라이언트가
아닌 서버로부터 넘겨받는 값이다. 웹 프로그램은 모든 실행 시작점이 웹 서버의 구동이며, 이때 web.xml 파일이
자동으로 로드되기 때문에 해당 파일에 초기화 매개변수를 등록해서 웹 페이지 구동 시 매개변수 값을 읽어 들인다.
web.xml은 WEB-INF폴더 하위에 존재하며 웹서버가 시작될 때 참조하는 환경설정 파일이다.
프로그램을 동작시킬 때 필요한 정보(ex. url, id, pw... 등)를 소스코드에 하드코딩 해왔었지만 이러한 정보들은
프로젝트 중간에 쉽게 변경될 수 있기 때문에 위와 같이 별도의 환경설정 파일인 .xml 파일에 보관한다.
.xml 파일의 <web-app></web-app> 내부에 작성되는 <init-param></init-param>은 ServeltConfig로
해당 서블릿에서 사용 가능하며, <context-param></context-param>은 ServeltContext로 동일한 웹 어플리케이션
내에서의 모든 서블릿 내에서 사용 가능하다. 또한 <error-page></error-page>를 사용하여 에러 발생 시
에러 페이지로의 이동도 가능하다.
예시를 위해 작성된 .xml 파일
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<context-param>
<param-name>name</param-name>
<param-value>timo</param-value>
</context-param>
<context-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</context-param>
</web-app>
실행을 위한 .jsp 파일
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
name: <%=getServletContext().getInitParameter("name") %><br>
encoding: <%=application.getInitParameter("encoding")%>
</body>
</html>
실행결과

728x90
'web' 카테고리의 다른 글
| 필터(Filter) (0) | 2022.08.21 |
|---|---|
| 리스너 클래스(2) (0) | 2022.08.20 |
| 리스너 클래스 (0) | 2022.08.16 |
| JSP - JSTL (0) | 2022.08.16 |
| 태그핸들러클래스 기반의 커스텀태그 (0) | 2022.08.14 |