=======================ServletConfig原理如下==========================
servlet的init(ServletConfig config)方法中会有一个super.init(config);其原理如下:
1.如果用户不需要设置一些初始化操作,那么init()方法的实现可有可无,因为可以从父类GenericServlet中继承得到.
2.如果用户需要servlet通过<init-param>从web.xml中读取initialization parameters或者configuration data,那么就需要显式实现init()方法.
3.GenericServlet 提供两个overloaded形式的方法如下:
public void init() throws ServletException
public void init(ServletConfig) throws ServletException
4.Servlet interface只定义一个init(ServletConfig)方法,而且servlet加载时必须被调用,但只在第一次加载被调用一次.
5.GenericServlet实现了这个init(ServletConfig)方法,这个方法先保存ServletConfig reference,然后调用init()方法.
6.如果用户servlet实现init()方法并在其中填充自己需要初始化的信息,这个init()会被GenericServlet中的init(ServletConfig)方法调用.因为ServletConfig reference已经
被保存,所以你可以访问web.xml中的<init-param>.
7.如果用户servlet实现init(ServletConfig),那么就覆盖了GenericServlet(父类)的init(ServletConfig)方法,因此,GenericServlet会调用子类的方法,而不会保存
ServletConfig reference,必须执行super.init(config);才能保存ServletConfig reference访问web.xml中的<init-param>.
8.所以你有两种方法初始化,如下:
第一种方法是
public class LoginServlet extends HttpServlet {
public void init() throws ServletException {
}
//...Rest of Servlet
}
第二中方法是
public class LoginServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
// ...Remainder of init() method
}
//...Rest of Servlet
}
9.servlet初始化正常结束,才能处理处理用户的请求,如果在初始化方法init()中出现错误,那么需要throw a ServletException或者父类的UnavailableException.这会告诉
servlet容器初始化失败,不能处理任何请求.
分享到:
相关推荐
JavaWeb新版教程Servlet-1vlet-ServletConfig类使用介绍.avi
JavaWeb新版教程Servlet-1vlet-ServletConfig类的补充说明.avi
ServletContext与ServletConfig关系
ServletConfig对象的试验代码
NULL 博文链接:https://shoushounihao.iteye.com/blog/1919541
注意:每个servlet有一个ServletConfig,每个Web应用有一个ServletContext.要把初始化参数认为是部署时常量,可用在运行时得到这些初始化参数,但不能设置初始化参数,根本没有setInitParameter().如果修改XML来改变...
1 ServletConfig.getServletContext(); 2 ServletContextEvent.getServletContext(); 3 HttpSession.getServletContext(); ------------------------------------------------ JSP Java Server Page java服务...
博文链接:https://hotfisher.iteye.com/blog/92177
很清楚的讲解了ServletContext和ServletConfig,不光有理论上的讲解,还有例子。
Overview Package Class Tree Deprecated Index Help PREV NEXT FRAMES NO FRAMES A B C D E F G H I J L P R S U V -------------------------------------------------------------------------------- ...
超全面javaweb教程28天第9天_6_ServletConfig介绍
下面小编就为大家带来一篇有关ServletConfig与ServletContext的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
ServletConfig是针对特定的Servlet的参数或属性。ServletConfig是表示单独的Servlet的配置和参数,只是适用于特定的Servlet。从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,一个...
ServletConfig : 代表的是该servlet对象的配置信息 2)service(ServletRequest request,ServletResponse response) 何时执行:每次请求都会执行 ServletRequest :代表请求 认为ServletRequest 内部封装的是 ...
ServletConfig getServletConfig() 返回传递到servlet的init()方法的ServletConfig对象 void service(ServletRequest request, ServletResponse response)throws ServletException,IOException 处理request对象中...
黑马 程序员-方立勋老师-javaWeb开发-03-Web开发入门和 04-Servlet开发和ServletConfig和ServletContex对象 知识总结记录
javax.servlet.ServletConfig javax.servlet.GenericServlet javax.servlet.ServletContext javax.servlet.ServletRequest javax.servlet.http.HttpUtils javax.servlet.ServletResponse javax.servlet....
init()方法获得了一个Servlet配置对象(ServletConfig)。这个对象在Servlet引擎中执行,并允许Servlet通过它获处相关参数。这个对象使得Servlet能够访问ServletContext对象。 Servlet处理请求\r Servlet被初始化...