首页 > 代码库 > Java Web组件Servlet、Filter、Listener

Java Web组件Servlet、Filter、Listener

一、Servlet 类javax.servlet.http.HttpServlet; 1.是单例模式,一个web容器中只有一个实例。服务器调用它的service方法进行请求处理,service方法又根据请求的类型分别调用doGet,doPost等方法。 2.由于是单例模式,所以线程不安全 3.自定义Servlet需继承HttpServlet,并重写相应的doGet等方法。方法体内不能调用父类的该方法。web.xml注册:  <servlet>    <servlet-name>myservlet</servlet-name>    <servlet-class>com.zk.baseservlet.MyServlet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>myservlet</servlet-name>    <url-pattern>/</url-pattern>  </servlet-mapping>二、Filter 类javax.servlet.Filter; 1.过滤器首先执行init方法,从web.xml中的filter配置中读取信息进行初始化。只执行一次。 2.客户端的每次请求,都会经过doFilter方法。过滤器必须配置拦截路径。 3.多个过滤器执行流程MyFilter1 beforeMyFilter2 beforeMyFilter3 beforeservlet doget methodMyFilter3 afterMyFilter2 afterMyFilter1 after是个U型流程
技术分享
web.xml注册:  <filter>  	<filter-name>myfilter1</filter-name>  	<filter-class>com.zk.basefilter.MyFilter1</filter-class>  </filter>  <filter-mapping>  	<filter-name>myfilter1</filter-name>  	<url-pattern>/*</url-pattern>	<init-param><param-name>name</param-name><param-value>lisi</param-value></init-param>  </filter-mapping>三、Listener 类ServletContextListener监听器用于监听并接收被监听对象的变化 1.容器启动通知contextInitialized方法在filter和servlet前调用。 2.contextDestroyed方法在容器关闭后,filter和servlet销毁后调用。

  不完善的地方欢迎大家补充

Java Web组件Servlet、Filter、Listener