做用:java
一、接收用户的请求web
二、对用户的请求作必定处理tomcat
三、给用户以相应的响应安全
Web三大组件:Listener,Filter,Servlet服务器
(三大组件都必须在web.xml中进行配置)
app
若是要写Servlet那么必须实现这个接口(javax.servlet.Servlet)this
须要实现的方法有:init(ServletConfig) 只在第一次请求的时候调用
url
service(ServletRequest,ServletResponse) 用户请求一次调用一次
spa
destroy() 只有在正常关闭服务的时候调用
debug
getServletConfig() 由服务器(tomcat进行管理),封装着Servlet一些配置信息,
有多少Servlet,就有多少ServletConfig对象
getServletInfo()
若是有两个servlet,那么init,就有两个,destroy就有两个,各自是各自的。
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>servlet1</servlet-name> <servlet-class>serdemo.Servlet1</servlet-class> <init-param> <param-name>age</param-name> <param-value>18</param-value> </init-param> <init-param> <param-name>addr</param-name> <param-value>北京</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>servlet1</servlet-name> <url-pattern>/demo</url-pattern> </servlet-mapping> </web-app>
servlet1.java
package serdemo; import java.io.IOException; import java.util.Enumeration; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class Servlet1 implements Servlet { private ServletConfig config; public void init(ServletConfig config) throws ServletException { this.config = config; System.out.println("init...."); } public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { ServletConfig servletConfig = getServletConfig(); String value = servletConfig.getInitParameter("age"); System.out.println(value); String value2 = servletConfig.getInitParameter("addr"); System.out.println(value2); Enumeration enu = servletConfig.getInitParameterNames(); while(enu.hasMoreElements()){ String value3 = (String) enu.nextElement(); System.out.println(value3); } System.out.println("service....."); } public void destroy() { System.out.println("destory..."); } //封装着一些相应的配置信息 public ServletConfig getServletConfig() { return config; } public String getServletInfo() { // TODO Auto-generated method stub return null; } }
使tomcat服务启动的时候,进行初始化
正整数,越大越靠后
debug步骤:
一、开tomcat服务(Debug Server)
二、打断点
三、打开网页
四、下一步(将会看到,从GenericServlet的init(ServletConfig)方法,跳到GeneServlet4的init()方法)
因此能够直接写servlet5.
做用:实现不一样Servlet之间数据共享。
ServletContext与tomcat (同生共死)