[초기화 매개변수]
프로그램을 동작시킬 때 필요한 정보(ex. url, id, pw, ...) 를
소스코드에 하드코딩을 해왔음
그런데 이런 정보들은 프로젝트 중간에 쉽게 변경이 될 수 있음
그래서 이런 정보들을 별도로 환경설정 파일(.xml)에 보관
정보 == 초기화 매개변수
<init-param></init-param> → ServletConfig
: 해당 서블릿에서 사용가능
<context-param></context-param> → ServletContext
: 동일한 웹 어플리케이션 내에서의 모든 서블릿에서 사용 가능
★ .xml 을 → @(어노테이션,애너테이션) 으로 바꾸려는 움직임이 많음
과거의 설정파일은 xml에 들어있었지만 , 많이 사용되는 Spring 을 사용하기 위해
@(어노테이션,애너테이션)으로 바꾸려는 움직임이 많음
- 컴파일을 시도할 때 , 어떤 어노테이션들이 있었는지 별도로 기억함
특정 기능을 수행할 때,
그에 해당하는 어노테이션이 있었는지를 가장 먼저 확인함
또는,
특정 순간에 반응(모니터링,감지)하는 어노테이션이 있음
해당 순간에 기능을 수행함
WEB-INF 하위에 xml 파일 생성
: 웹 서버가 시작될 때 참조하는 환경설정 파일
web.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>
<error-page> <!-- 에러페이지 -->
<exception-type>java.lang.Throwable</exception-type> <!-- 상위 익셉션 -->
<location>/error/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code> <!-- 404에러만에 대한 에러페이지 설정 -->
<location>/error/error404.jsp</location>
</error-page>
</web-app>
.jsp 코드
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>초기화매개변수</title>
</head>
<body>
name: <%=getServletContext().getInitParameter("name") %> <br>
encoding: <%=application.getInitParameter("encoding") %>
<!-- ServletContext는 웹 서버 단위로 동작하고 있어서 application 스코프에서 꺼내 사용 가능 -->
<!-- jsp 내장객체로 서블릿을 사용 가능하니 서블릿 파일 사용 가능한 것 인지 -->
</body>
</html>
수행결과
xml 파일을 참고해 name 과 encoding 값을 받아올 수 있다.
'개발자노트 > 웹' 카테고리의 다른 글
Ajax 를 이용한 아이디 중복검사 (0) | 2022.08.25 |
---|---|
HTML - FrontController (0) | 2022.08.23 |
트랜잭션 예제 - 은행 계좌이체 예제 (0) | 2022.08.17 |
트랜잭션 transaction (0) | 2022.08.17 |
HTML - JSP - 커스텀태그를 사용해 EL식 , JSTL 사용 (0) | 2022.08.16 |