.JSP 웹 사이트에서 사용할 수있는 변수를 저장하는 가장 좋은 방법은 무엇입니까? 나는 숫자의 묶음 인 keycode를 가지고있다. keycode = XXXXXXXXXXXXXXXXXXXXX 그리고 나는 여러 페이지에서 그 코드에 접근 할 수 있기를 원한다..JSP 사용을 위해 변수 저장?
변수는 자주 변경되지 않지만 한 곳에서 바꿀 수 있고 어디에서나 참조 할 수 있습니다.
.JSP 웹 사이트에서 사용할 수있는 변수를 저장하는 가장 좋은 방법은 무엇입니까? 나는 숫자의 묶음 인 keycode를 가지고있다. keycode = XXXXXXXXXXXXXXXXXXXXX 그리고 나는 여러 페이지에서 그 코드에 접근 할 수 있기를 원한다..JSP 사용을 위해 변수 저장?
변수는 자주 변경되지 않지만 한 곳에서 바꿀 수 있고 어디에서나 참조 할 수 있습니다.
변수를 응용 프로그램 범위에 저장하려면 ServletContext
의 특성으로 저장해야합니다. 응용 프로그램을 배포 할 때 당신은 ServletContextListener
를 사용함으로써 ServletContext
에 액세스 할 수 있습니다
public class AppServletContextListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent arg0) {
//use this method for tasks before application undeploy
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
//use this method for tasks before application deploy
arg0.getServletContext().setAttribute("keyCode", "foo");
}
}
을 그런 다음 Expression Language를 통해 JSP에서이 값에 액세스 할 수 있습니다
${keyCode} //prints "foo"
${applicationScope.keyCode} //also prints "foo"
그리고/또는 서블릿을 요청을 처리 할 때. 예를 들어, doGet
의 : Java 웹 응용 프로그램 개발에서 변수의 범위에 대한
public void doGet(HttpServletRequest request, HttpServletResponse response) {
ServletContext servletContext = request.getServletContext();
System.out.println(servletContext.getAttribute("keyCode")); // prints "foo"
}
더 많은 정보 : 세션 범위 (사용자 별)의 적용 범위에서 How to pass parameter to jsp:include via c:set? What are the scopes of the variables in JSP?
(모든 사용자),, (배포 중 변경 만) 또는 JNDI 값 또는 –
모든 사용자에게 적용해야하므로 응용 프로그램 범위 경로를 어떻게 수행합니까? – NCoder
http://docs.oracle.com/javaee/6/tutorial/doc/gjbbk.html, http://stackoverflow.com/questions/11091377/using-application-scope-variables-in-java, http :// /stackoverflow.com/questions/9573021/setting-a-variable-at-application-scope-so-it-shared-among-sessions, 등등. –