Servlet和filter的区别
概念:
- Servlet:运行在服务器端的程序.动态生成页面
- filter:是一段可复用的程序.它可以对请求和响应进行处理,但不能生成请求和响应.
生命周期:
Servlet:
-
web服务器启动的时候,发出第一次请求的时候,init()初始化
-
针对访问doPost()方法
-
服务器停止,调用destroy()销毁实例
Filter:
-
启动服务器,调用init()实例化
-
doFilter()方法
-
服务器停止,调用destroy()销毁实例
其他不同:
Struts2框架用 <filter>标签
Spring-MVC框架用<servlet>标签