Jsp/Servlet 读书笔记(三) -- ServletConfig和ServletContext
2011-08-31 21:53
465 查看
Servlet的生命周期
在Servlet接口中,定义了与Servlet生命周期和请求服务相关的init(),service(),destroy()方法。在WEB容器启动后,会读取web.xml文件,根据每个Servlet的设定生成一个Servlet实例和ServletConfig实例,之后呼叫Servlet的init()方法,将产生的ServletConfig实例作为参数传入。
GenericServlet同时实现了Servlet和ServletConfig接口,它的主要作用是将初始Servlet呼叫init()方法传入的ServletConfig封装起来:
所以初始化时需要执行的动作,就可以重新定义这个无参的init()方法。GenericServlet也实现了Servlet和ServletConfig接口中定义的一些方法,主要是透过ServletConfig来获得一些相关信息:
ServletConfig相当于web.xml中定义的单个Servlet的设置代表对象,这意味着可以通过ServletConfig取得单个Servlet的设置信息,比如初始化参数。web.xml中Servlet的初始化参数使用<init-param>标签来设定:
关于ServletContext
当应用程序载入到web容器之后,容器会生成一个ServletContext对象作为整个应用程序的代表,并设定个ServletConfig,只要通过ServletConfig对象的getServletContxt()方法就可以得到ServletContext对象。对于整个应用程序初始化时需要用到的参数,可以在web.xml中使用<context-param>标签来定义:
可以通过ServletContext的getInitParameter()方法来获得这些初始参数。
在Servlet接口中,定义了与Servlet生命周期和请求服务相关的init(),service(),destroy()方法。在WEB容器启动后,会读取web.xml文件,根据每个Servlet的设定生成一个Servlet实例和ServletConfig实例,之后呼叫Servlet的init()方法,将产生的ServletConfig实例作为参数传入。
GenericServlet同时实现了Servlet和ServletConfig接口,它的主要作用是将初始Servlet呼叫init()方法传入的ServletConfig封装起来:
private transient ServletConfig config; public void init(ServletConfig config) { this.config = config; this.init(); } public void init() {}
所以初始化时需要执行的动作,就可以重新定义这个无参的init()方法。GenericServlet也实现了Servlet和ServletConfig接口中定义的一些方法,主要是透过ServletConfig来获得一些相关信息:
public ServletConfig getServletConfig(); public String getInitParameter(String name); public Enumeration getInitParameterNames(); public ServletContext getServletContext();
ServletConfig相当于web.xml中定义的单个Servlet的设置代表对象,这意味着可以通过ServletConfig取得单个Servlet的设置信息,比如初始化参数。web.xml中Servlet的初始化参数使用<init-param>标签来设定:
<servlet> <servlet-name>LoginServlet</servlet> <servlet-class>com.mywebapp.LoginServlet</servlet-class> <init-param> <param-name>admin</param-name> <param-value>admin</param-value> </init-param> </servlet>
关于ServletContext
当应用程序载入到web容器之后,容器会生成一个ServletContext对象作为整个应用程序的代表,并设定个ServletConfig,只要通过ServletConfig对象的getServletContxt()方法就可以得到ServletContext对象。对于整个应用程序初始化时需要用到的参数,可以在web.xml中使用<context-param>标签来定义:
<web-app> <context-param> <param-name>message</param-name> <param-value>/web-inf/message.txt</param-value> </context-param> </web-app>
可以通过ServletContext的getInitParameter()方法来获得这些初始参数。
相关文章推荐
- JSP中ServletContext和ServletConfig
- getServletConfig().getServletContext().getRequestDispatcher("xxx.jsp")的用法
- getServletConfig().getServletContext().getRequestDispatcher("xxx.jsp")的用法
- java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config解决方案
- Servlet第二篇【Servlet调用图、Servlet细节、ServletConfig、ServletContext】
- ServletConfig和ServletContext
- 第九天 session,servletconfig,servletcontext和filter
- servletcontext 与 servletconfig 分析
- nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- ServletConfig与ServletContext对象详解
- JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用
- java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
- 学习笔记--【转】Parameter与Attribute的区别&servletContext与ServletConfig区别
- NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- javaweb基础学习(一)<ServletConfig与ServletContext对象详解>
- Servlet技术浅析(五)之-----ServletConfig接口和ServletContext接口
- 访问页面异常:nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- ServletConfig和ServletContext的意思
- Servlet第二篇【Servlet调用图、Servlet细节、ServletConfig、ServletContext】
- 有关ServletConfig与ServletContext的访问