servlet初始化參數


使用<context-param>標簽初始化的參數是被應用程序中所有的servlet所共享。但是有時候我們需要為某一個特定的servlet配置參數,這個時候我們就需要使用servlet初始化參數。

1、servlet初始化參數,在web.xml中配置

1.1、配置web.xml文件

<servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>webDemo01.HelloServlet</servlet-class>
    <init-param>
        <param-name>data</param-name>
        <param-value>ServletConfig</param-value>
    </init-param>
    <init-param>
        <param-name>server</param-name>
        <param-value>1.1.1</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/HelloServlet</url-pattern>
  </servlet-mapping>

1.2、在指定的servlet中獲取參數

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //獲取ServletConfig對象
        ServletConfig config = this.getServletConfig();
        //根據參數名獲取參數值
        String initParameter1 = config.getInitParameter("data");
        String initParameter2 = config.getInitParameter("server");
        PrintWriter writer = response.getWriter();
        writer.append(initParameter1).append(initParameter2);
    }

 

2、使用注解完成servlet初始化參數。

 1 @WebServlet(
 2         name="HelloServlet02",
 3         urlPatterns={"/HelloServlet02"},
 4         initParams={
 5                 @WebInitParam(name="data",value="config"),
 6                 @WebInitParam(name="server",value="2.2.2")
 7         })
 8 public class HelloServlet02 extends HttpServlet {
 9     private static final long serialVersionUID = 1L;
10 
11     public void doGet(HttpServletRequest request, HttpServletResponse response)
12             throws ServletException, IOException {
13         this.doPost(request, response);
14     }
15 
16     public void doPost(HttpServletRequest request, HttpServletResponse response)
17             throws ServletException, IOException {
18         ServletConfig config = this.getServletConfig();
19         String initParameter = config.getInitParameter("data");
20         String initParameter2 = config.getInitParameter("server");
21         response.getWriter().append(initParameter).append(initParameter2);
22     }

 

區別:

  1、使用注解完成servlet初始化參數,如果修改了初始化參數,必須重新編譯應用程序才能生效

   2、將servlet參數添加到部署描述符,修改xml代碼並重啟應用程序即可使配置生效

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM