* 초기 파라미터 : 초기에 사용할 값들을 web.xml에 넣어두고 쓰겠다.(초기값변경시 web.xml만 변경하면 됨) (프로그램에서 사용해야할 문자열을 web.xml에 넣어두고 web.xml에서 불러다가 쓰겠다.(소스코드 변경없이 변경되는 것을 관리)
- 서버단 컴포넌트(Servlet, JSP, Listener등) 이 사용하는 문자열 중 나중에 변경 될 수 있는 문자열을 web.xml에 등록해 놓고 컴포넌트에서는 호출하여 - 나중에 변경시 설정에서만 바꾸면 컴포넌트의 수정없이 변경이 가능 - 초기 파라미터 2가지 * 특정 서블릿, JSP만 사용할 수 있는 초기 파라미터 - ServletConfig이용 * Application 내 모든 servlet이 사용할 수 있는 초기 파라미터 - ServletContext이용
* javax.servlet.ServletConfig(서블릿 객체에 대한 설정정보를 가지고 있음) - Servlet 객체가 말하는데 필요한 정도를 가지고 있는 객체 - Web Container가 생성하여 Servlet의 init() 호출시 주입(주입 : 메소드에서 받아서 쓸 수 있게해주는 것) - Servlet객체당 하나씩 생성
- 초기 파라미터 init()
* ServletConfig를 이용한 초기파라미터 처리
1. web.xml에 초기파라미터 설정 <servlet> <servlet-name>서블릿 객체 이름</servlet-name> <servlet-class>서블릿 클래스 이름</servlet-class> <init-param> <param-name>초기파라미터 이름</param-name><!-- 변경시 이름은 바뀌지 않고 값을 바꾸면 된다. --> <param-value>초기 파라미터 값</param-value> </init-param> </servlet> - 초기 파라미터가 여러개인 경우<init-param>을 반복
public class CounterServlet extends HttpServlet{ //변수 저장하는 방법(변수, 파일, DB 세가지 방법이 있다.) private int visitCount; //카운트 한 값을 저장 시킬 공간 //private String counterFile = "F:\\apache-tomcat-6.0.35\\counter.dat"; private String counterFile; //생성자( 객체 생성) public CounterServlet(){
} //객체 생성 직후 실행(count값 read 한 다음에 visitCount로 넣기) public void init(){ System.out.println("counterFile : "+counterFile); // ServletConfig conf = getServletConfig(); //counterFile = conf.getInitParameter("saveFile");