獲取web.xml中的context-param和init-param定義的值


web.xml里面可以定義兩種參數:<context-param> 和</init-param> 
(1)application范圍內的參數,存放在servletcontext中,在web.xml中配置如下:

1 <context-param> 
2 <param-name>context/param</param-name> 
3 <param-value>avalible during application</param-value> 
4 </context-param>

(2)servlet范圍內的參數,只能在servlet的方法doGet()、doPost()和init()中取得,在web.xml中配置如下:

1 <servlet> 
2 <servlet-name>MainServlet</servlet-name> 
3 <servlet-class>com.wes.controller.MainServlet</servlet-class> 
4 <init-param> 
5 <param-name>init/param</param-name> 
6 <param-value>avalible in servlet init()</param-value> 
7 </init-param> 
8 <load-on-startup>0</load-on-startup> 
9 </servlet>

在servlet中可以通過代碼分別取用:

java 代碼

 1 public void doGet(HttpServletRequest request, HttpServletResponse response)
 2             throws ServletException, IOException {
 3 
 4         response.setContentType("text/html");
 5         PrintWriter out = response.getWriter();
 6         out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
 7         out.println("<HTML>");
 8         out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
 9         out.println("  <BODY>");
10         out.print("    This is ");
11         out.print(this.getClass());
12         out.println(this.getServletConfig().getInitParameter("init/param")); 13         out.println(this.getServletConfig().getServletContext().getInitParameter("context/param")); 14         out.println(", using the GET method");
15         out.println("  </BODY>");
16         out.println("</HTML>");
17         out.flush();
18         out.close();
19     }

通過URL訪問該Servlet:

第一種參數只能在servlet的方法中通過this.getServletConfig().getInitParameter("init/param")取得
第二種參數在servlet里面可以通過this.getServletConfig().getServletContext().getInitParameter("context/param")得到

解析:init-param只屬於一個servlet所有,所以只有在該Servlet的方法中才能調用。

        而context-param屬於整個應用程序所有 ,不僅是在servlet中可以得到,jsp文件中也可以得到.

        在jsp中config就相當於這里的servletContext,例如在index.jsp中<%=config.getServletContext().getInitParameter("context/param")%>

        

運行結果:


        在action中ServletActionContext.getServletContext().getInitParameter("context/param").


免責聲明!

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



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