1,概念的比较:
过滤器: 过滤器是在 Java Servlet 2.3 规范中定义的,它能够对Servlet 容器传给Web组件的ServletRequest对象和ServletResponse对象进行检查和修改。过滤器本身并不生成ServletRequest对象和ServletResponse对象,它只为Web组件提供如下过滤功能:
* 过滤器能够在Web组件被调用之前检查ServletRequest对象,修改响应头和请求正文内容,或者对请求进行预处理操作。
* 过滤器能够在Web组件被调用之后检查ServletResponse对象,修改响应头和响应正文。
过滤器的特点:
** 过滤器可以检查ServletRequest和ServletResponse对象,并且利用ServletRequestWrapper和ServletResponseWrapper包装类来修改ServletRequest和ServletResponse对 象。
** 可以在web.xml 文件中为过滤器映射特定的URL。当客户请求访问此URL时,Servlet容器就会先触发过滤器工作。
** 过滤器是JavaServlet2.3规范的一部分,因此所有实现Java Servlet 2.3 规范及其以上版本的Servlet容器都支持过滤器。
** 多个过滤器可以串联在一起,协同为Web组件过滤请求对象和响应对象。
Servlet
Servlet是Java Web应用中的最核心组件。Servlet运行在Servlet容器中,能够为各种各样的用户请求提供相应的服务。Servlet可以轻易完成如下任务:
* 动态生成HTML文档
* 把请求转发给同一个Web应用中的其他Servlet组件。
* 把请求转发给其他Web应用中的Servlet组件。
* 读取客户端的Cookie,以及向客户端写入Cookie。
* 访问其他服务器资源(如数据库或基于Java的应用程序)。
Servlet对象由Servlet容器创建,它是Serlvet容器重点关照的宠儿。Servlet在容器中能呼风唤雨,驾轻就熟地动用容器为它提供的各种资源。古人云:“君子生非异也,善假于物也。” Servlet也是借助于容器为它提供的十八般武器,才能成为容器中神通广大的头号干将。。。