2012-01-28 2 views

답변

7

예 가능합니다. 서블릿의 init 메소드에서

는 당신을 위해 트릭을 수행해야

getServletConfig().getServletContext().setInitParameter("[Parameter name]", "[value]"); 

또는 단순히

getServletContext().setInitParameter("[Parameter name]", "[value]"); 

이를 사용합니다. 이 서블릿을 선언 할 때 응용 프로그램의 부하

, web.xml에

,이 서블릿 1로 <load-on-startpup> 요소를 제공합니다.

<servlet> 
<servlet-name>TestServlet</servlet-name> 
<servlet-class>TestServlet</servlet-class> 
<load-on-startup>1</load-on-startup> 
</servlet> 
+1

그러나이 방법은 해당 컨텍스트 매개 변수를 필요로하는 API가 프로그래밍 방식으로 설정된 후에 * 읽을 수 있다고 보장하지 않습니다. – BalusC

+0

프로그래머가 응용 프로그램과 서블릿에로드 될 첫 번째 서블릿을 알고 있기 때문에 초기화 매개 변수가 설정됩니다. –

+4

일부 API (예 : JSF!)는'ServletContextListener' 또는'ServletContainerInitializer'를 사용하여 API를 초기화하며 첫 번째'Servlet'이 작성되기 훨씬 전에 실행됩니다. – BalusC

관련 문제