做用: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 (同生共死)