
servletconfig&&servletcontext
原创
©著作权归作者所有:来自51CTO博客作者bitzyun的原创作品,请联系作者获取转载授权,否则将追究法律责任
servlet要成为真正的servlet必须具备两个东西:

1.ServletConfig
2.ServletContext
容器初始化一个servlet时,会为这个servlet建一个唯一的ServletConfig,容器从web.xml中读出初始化参数并把参数交给ServletConfig,然后把ServletConfig传递给servlet的init()方法。
servlet初始化参数只能读一次——就是在容器初始化servlet的时候,如果改变web.xml中的参数,要想生效只能重新部署servlet。

如果想在jsp中获取初始化参数呢,我们只能在servlet中通过设置属性的办法,但是只适用于接受转发请求的jsp。
如果想解决上面的难题,就要引入servletcontext,它的工作机制类似于定义servlet的参数,不过最重要的是它是针对整个web工程的,而不是仅仅适用于一个servlet。
在web.xml中定义servletcontext:
<servlet>
<servlet-name>MyTest</servlet-name>
<servlet-class>TestInitParams</servlet-class>
</servlet>
<context-param>
<param-name>myEmail</param-name>
<param-value>zy@gmail.com</param-value>
</context-param>
注:</context-param>要放在下<web-app>下,而不是<servlet>下;
在servlet中获取该值:
out.println(getServletContext().getInitParameter(“myEmail”));
每个servlet都继承了getServletContext()方法。
相当于下面的方式:
ServletContext context = getServletContext();
out.println(context.getInitParameter(“myEmail”));
上一篇:servlet生命周期

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
PageContext ServletContext ServletConfig辨析
上面三个东西都是什么关系呀?先看图注意几点1 GenericServlet有两个init方法#2 GenericServl
PageContext ServletContext ServletConfig 成员变量 数据 -
Servlet容器模型(四)ServletConfig、ServletContext
这两天刚刚回顾了一下servlet中的配置对象ServletConfig、上下文
初始化 web应用 生存周期 日志文件 成员变量