首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

web.xml配备参数context-param和init-param的区别(转)

2012-08-31 
web.xml配置参数context-param和init-param的区别(转)web.xml里面可以定义两种参数:(1)application范围内

web.xml配置参数context-param和init-param的区别(转)

web.xml里面可以定义两种参数:
(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的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>param1</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中可以通过代码分别取用:

  1. package?com.wes.controller; ??
  2. ??
  3. import?javax.servlet.ServletException; ??
  4. import?javax.servlet.http.HttpServlet; ??
  5. ??
  6. public?class?MainServlet?extends?HttpServlet{ ??
  7. ??
  8. ????public?MainServlet(){ ??
  9. ????????super(); ??
  10. ??????} ??
  11. ????public?void?init()?throws?ServletException ...{ ??
  12. ??????????System.out.println("下面的两个参数param1是在servlet中存放的"); ??
  13. ??????????System.out.println(this.getInitParameter("param1")); ??
  14. ??????????System.out.println("下面的参数是存放在servletcontext中的"); ??
  15. ??????????System.out.println(getServletContext().getInitParameter("context/param")); ??
  16. ???????} ??
  17. }??

?
第一种参数在servlet里面可以通过getServletContext().getInitParameter("context/param")得到

在JSP中可以用config.getServletContext().getInitParameter("context/param")得到

或者this.getServletContext().getInitParameter("context/param")


第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取得

热点排行