sourcecode

init-module 및 context-module

copyscript 2022. 9. 3. 13:31
반응형

init-module 및 context-module

<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> »ServletContext.setAttribute()질문을 보세요.context-internal은 태그로 선언됩니다.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에 명시적으로 전달해야 합니다.예를 들어, 요청대로 전달되었습니다.set Attribute() 입니다.이것은 매우 비효율적이고 코드화하기가 어렵습니다.

따라서 명시적으로 값을 전달하지 않고 응용 프로그램 내의 임의의 장소에서 글로벌 값에 액세스하려면 Context Init 파라미터를 사용해야 합니다.

web.xml에서 다음 정의를 고려합니다.

 <web-app>
      <context-param>
           <param-name>myprop</param-name>
           <param-value>value</param-value>
      </context-param>
 </web-app>

이 컨텍스트 파라미터는 웹 응용 프로그램의 모든 부분에서 사용할 수 있으며 Context 객체에서 가져올 수 있습니다.예를 들어 get Servlet Context().getInitParameter("dbname");

JSP에서 어플리케이션의 암묵적인 오브젝트를 사용하여 컨텍스트파라미터에 액세스 할 수 있습니다.예를 들어 application.getAttribute("dbname");

<context-param> 
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath*:/META-INF/PersistenceContext.xml
    </param-value>
</context-param>

는 나의 i i기 ized i 。PersistenceContext.xml의 범위 내에서<context-param>모든 서블릿이 MVC 프레임워크의 데이터베이스와 상호 작용하기 때문입니다.

하울러,

<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>

에서는, 와 「저지」를.ApplicationContext.xml휴면층만.사용하고 있는 것과 같은 경우</init-param>

<init-param>특정 서블릿에 대한 일부 파라미터를 초기화할 때 사용됩니다.요청이 먼저 servlet에 도달하면init그러면 메서드가 호출됩니다.doGet/doPost한편, 어플리케이션 전체에 대해 일부 변수를 초기화하려면<context-param>. 모든 서블릿은 컨텍스트 변수에 액세스할 수 있습니다.

와의 차이는 무엇입니까?<init-param>그리고.<context-param>!?

단일 서블릿과 여러 서블릿.

기타 답변에 대한 자세한 내용은 다음과 같습니다.

웹 앱, 즉 "콘텍스트"는 하나 이상의 서블릿으로 구성됩니다.

  • <init-param>는 컨텍스트 내의 단일 특정 서블릿에서 사용 가능한 값을 정의합니다.
  • <context-param>는 컨텍스트 내의 모든 서블릿에서 사용 가능한 값을 정의합니다.

언급URL : https://stackoverflow.com/questions/28392888/init-param-and-context-param

반응형