getInitParameter方法

ServletConfigServletContext都有getInitParameter方法, 这两个方法的都能从web.xml中获取参数,但是是有区别的。

    1. web.xml文件

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  3.       
  4.     <context-param>  
  5.       <param-name>webParam</param-name>  
  6.       <param-value>aaa</param-value>  
  7.     </context-param>  
  8.       
  9.     <servlet>  
  10.         <servlet-name>test</servlet-name>  
  11.         <servlet-class>Test</servlet-class>  
  12.         <init-param>  
  13.           <param-name>servletParam</param-name>  
  14.           <param-value>bbb</param-value>  
  15.         </init-param>  
  16.     </servlet>  
  17.       
  18.     <servlet-mapping>  
  19.         <servlet-name>test</servlet-name>  
  20.         <url-pattern>/test</url-pattern>  
  21.     </servlet-mapping>  
  22.       
  23. </web-app>  

     注:区分配置文件中,对参数的配置的不同. servletParam这个参数是属于Test这个Servlet的; 而webParam这个参数是属于web应用的,被各个servlet共享。

    2. 调用代码

Java代码  收藏代码
  1. public class Test extends HttpServlet {  
  2.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  3.             throws ServletException, IOException {  
  4.         response.setContentType("text/html");  
  5.         PrintWriter out = response.getWriter();  
  6.   
  7.         String s1 = this.getInitParameter("servletParam");  
  8.         String s2 = this.getServletContext().getInitParameter("webParam");  
  9.         //注意区别,一个是独属于Test这个Servlet的参数,一个是web范围的参数,  
  10.   
  11.         out.println("<HTML>");  
  12.         out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");  
  13.         out.println("  <BODY>");  
  14.         out.println(s1);  
  15.         out.println(s2);  
  16.         out.println("  </BODY>");  
  17.         out.println("</HTML>");  
  18.         out.flush();  
  19.         out.close();  
  20.     }  
  21.   
  22. }  

    3. 运行结果

    bbb aaa

 

原文地址:https://www.cnblogs.com/heyanan/p/7442939.html