servlet继承了HTTPServlet所以可以重写父类的方法,下面一 一介绍方法Dopost DoGet 比较常用不再介绍。
一、Init(),和Init(ServletConfig config),ServletConfig config可以获取web.xml内的初始化参数,贴一段代码:
<servlet>
<display-name>servlet初始化参数</display-name>
<servlet-name>ServletInit</servlet-name>
<servlet-class>com.jiang.servlet.ServletInit</servlet-class>
<init-param>
<param-name>ConfigURI</param-name>
<param-value>WEB-INF/Config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup><!-- -->
</servlet>
<display-name>servlet初始化参数</display-name>
<servlet-name>ServletInit</servlet-name>
<servlet-class>com.jiang.servlet.ServletInit</servlet-class>
<init-param>
<param-name>ConfigURI</param-name>
<param-value>WEB-INF/Config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup><!-- -->
</servlet>
关于load-on-startup 表示应用程序被加载时就调用上面的servlet(就是ServletInit)数字表示加载的优先级正数越小则表示越优先被加载,当为负数时表示该servlet被使用时才被调用,这个可以让servlet做一些初始化操作当数字是正数是服务器启动或者重新部署后都会一次性调用servle只调用一次init-param就是初始化参数servlet中在Init(ServletConfig config)中通过config对象获取初始化参数。
一般重写Init(ServletConfig config)即可,tomcat就是调用的这个方法。
这个的用处是可以做一些初始化设置,比如获取一些项目配置的参数,数据库的连接建立。下面贴上我自己的重写方法:
public void init(ServletConfig config) throws ServletException {
// Put your code here
// 这个方法可用于一些一次性操作比如建立日志文件和数据库的连接
String path=config.getServletContext().getContextPath();
System.out.println("项目的相对路径:"+path);
Enumeration enummer=config.getInitParameterNames();
while(enummer.hasMoreElements()){
System.out.println(enummer. nextElement().toString());
}
}
// Put your code here
// 这个方法可用于一些一次性操作比如建立日志文件和数据库的连接
String path=config.getServletContext().getContextPath();
System.out.println("项目的相对路径:"+path);
Enumeration enummer=config.getInitParameterNames();
while(enummer.hasMoreElements()){
System.out.println(enummer. nextElement().toString());
}
}
二、destroy()方法 该方法在web容器移出所有servlet时执行。
三、service()方法,servlet的核心方法,当servlet被访问时首先调用该方法,在该方法内决定调用Dopost还是DoGet,缺省就可以不用重写。
四、提供关于servlet的信息比如请求的方法名、版本、端口等