init-param 및 context-param
<init-param>
과 <context-param>
! 의 차이점은 무엇입니까 ?
<init-param>
및 <context-param>
web.xml 파일에 저장됩니다 정적 매개 변수입니다. 자주 변경되지 않는 데이터가 있으면 그중 하나에 저장할 수 있습니다.
특정 서블릿 범위에 한정된 특정 데이터를 저장 하려면을 사용할 수 있습니다. <init-param>
내부 선언 <init-param>
은 해당 특정 서블릿에 대해서만 액세스 할 수 있습니다. init-param 은 <servlet>
태그 내부에 선언됩니다 .
<servlet>
<display-name>HelloWorldServlet</display-name>
<servlet-name>HelloWorldServlet</servlet-name>
<init-param>
<param-name>Greetings</param-name>
<param-value>Hello</param-value>
</init-param>
</servlet>
다음과 같이 서블릿에서 해당 매개 변수에 액세스 할 수 있습니다.
out.println(getInitParameter("Greetings"));
전체 응용 프로그램에 공통적 인 데이터를 저장하고 싶고 자주 변경되지 않는 경우 응용 프로그램 컨텍스트 <context-param>
의 servletContext.setAttribute()
방법 대신 사용할 수 있습니다 . <context-param>
VS 사용에 대한 자세한 내용은 ServletContext.setAttribute()
이 질문을 참조하십시오 . context-param 은 태그 아래에 선언됩니다 web-app
. <context-param>
다음과 같이 선언하고 액세스 할 수 있습니다.
<web-app>
<context-param>
<param-name>Country</param-name>
<param-value>India</param-value>
</context-param>
<context-param>
<param-name>Age</param-name>
<param-value>24</param-value>
</context-param>
</web-app>
JSP 또는 Servlet의 애플리케이션에서 사용
getServletContext().getInitParameter("Country");
getServletContext().getInitParameter("Age");
web.xml에서 아래 정의를 고려하십시오.
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>TestServlet</servlet-class>
<init-param>
<param-name>myprop</param-name>
<param-value>value</param-value>
</init-param>
</servlet>
init-param이 서블릿 요소 내부에 정의되어 있음을 알 수 있습니다. 즉, 선언중인 서블릿에서만 사용할 수 있으며 웹 애플리케이션의 다른 부분에서는 사용할 수 없습니다. 이 매개 변수를 애플리케이션의 다른 부분에서 사용할 수 있도록하려면 JSP를 명시 적으로 JSP에 전달해야합니다. 예를 들어 request.setAttribute ()로 전달됩니다. 이것은 매우 비효율적이고 코딩하기 어렵습니다.
따라서 해당 값을 명시 적으로 전달하지 않고 애플리케이션 내 어디에서나 전역 값에 액세스하려면 Context Init 매개 변수를 사용해야합니다.
web.xml에서 다음 정의를 고려하십시오.
<web-app>
<context-param>
<param-name>myprop</param-name>
<param-value>value</param-value>
</context-param>
</web-app>
이 컨텍스트 매개 변수는 웹 애플리케이션의 모든 부분에서 사용할 수 있으며 Context 객체에서 검색 할 수 있습니다. 예를 들어, getServletContext (). getInitParameter ( "dbname");
From a JSP you can access the context parameter using the application implicit object. For example, application.getAttribute(“dbname”);
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:/META-INF/PersistenceContext.xml
</param-value>
</context-param>
I have initialized my PersistenceContext.xml
within <context-param>
because all my servlets will be interacting with database in MVC framework.
Howerver,
<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:ApplicationContext.xml
</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.organisation.project.rest</param-value>
</init-param>
</servlet>
in the aforementioned code, I am configuring jersey and the ApplicationContext.xml
only to rest layer. For the same I am using </init-param>
<init-param>
will be used if you want to initialize some parameter for a particular servlet. When request come to servlet first its init
method will be called then doGet/doPost
whereas if you want to initialize some variable for whole application you will need to use <context-param>
. Every servlet will have access to the context variable.
What is the difference between
<init-param>
and<context-param>
!?
Single servlet versus multiple servlets.
Other Answers give details, but here is the summary:
A web app, that is, a “context”, is made up of one or more servlets.
<init-param>
defines a value available to a single specific servlet within a context.<context-param>
defines a value available to all the servlets within a context.
참고URL : https://stackoverflow.com/questions/28392888/init-param-and-context-param
'developer tip' 카테고리의 다른 글
Select Top 100 %를 사용하는 이유는 무엇입니까? (0) | 2020.10.10 |
---|---|
django-celery로 단위 테스트? (0) | 2020.10.10 |
jQuery를 사용하여 드롭 다운 목록을 열 수 있습니까? (0) | 2020.10.10 |
탐색 컨트롤러 내부의 탭 모음 컨트롤러 또는 탐색 루트보기 공유 (0) | 2020.10.10 |
Python을 사용하여 파일에 예쁜 인쇄 JSON 데이터 (0) | 2020.10.09 |