我是靠谱客的博主 动听抽屉,最近开发中收集的这篇文章主要介绍Servlet2.5 规范 学习笔记(续一)1     javax.servlet 包,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

总结时间:2009-03-13

 

1     javax.servlet

1.1      接口

     该包下面一共有14个接口对象,11个类(其中有两个为异常处理类ServletExceptionUnavailableException

1.1.1   Filter 接口描述

首先对Filter有一个大概认识是很重要,你可能会问为什么呢?如果你不知道你这个东西可以用来干什么,你就不知道怎么去学习,了解也不够那么深刻。每一个规范或者技术的产生应该都是为了解决特定或普遍的问题。

Filte是源数据和目的数据之间起过滤作用的中间组件,当目标资源对请求作出

响应时候,容器同样会将响应先转发给过滤器,再过滤器中,你可以对响应的内容进行

相应的处理,然后再将响应发送到客户端,该接口的实现只初始化一次,多线程公用。从Servlet 2.3规范起定义了该接口,使用Filter可以对进行用户权限认证、对请求进行记录和审核,对加密请求和响应等进行处理。

具体的过滤器都必须实现Filter接口,该接口有destroy() doFilter(ServletRequest request, ServletResponse response, FilterChain chain) init(FilterConfig filterConfig)有三个方法需要实现,简单介绍一下这三个方法:

destroy():通过方法名可以猜测出是容器准备销毁过滤器,过滤器应该进行的相关操作,一旦所有还在执行doFilter()方法的线程执行完毕,或者执行doFilter方法超时,该方法就会被调用一次。一旦容器调用destroy()方法后(只要调用了destroy()方法不管该方法是否执行完毕),容器就不会在调用该Filter实例的doFilter方法了。使用destroy()方法可以主动释放内存,文件处理等。

doFilter(ServletRequest request, ServletResponse response, FilterChain chain): 当客户端请求目标资源的时候,容器就会调用与这个目标资源相关联的过滤器的doFilter()方法。在特定的操作完成后,可以调用chain.doFilter(request,response)将请求传给下一个过滤器(或目标资源),也可以直接向客户端返回响应信息,或者利用RequestDispatcherforward()include()方法,以及HttpServletResponsesendRedirect()方法将请求转向到其他资源。需要注意的是,这个方法的请求和响应参数的类型是ServletRequestServletResponse,也就是说,过滤器的使用并不依赖于具体的协议。

init(FilterConfig filterConfig):一旦过滤器被被实例化以后,容器调用该方法初始化过滤器相关参数,正确的初始化后,容器才能正常工作(这里所说的正常是指没有抛出ServletException类型的异常信息)。这里需要注意的是初始化抛出ServletException异常或初始化超时该过滤器都不可以正常的工作。

最后

以上就是动听抽屉为你收集整理的Servlet2.5 规范 学习笔记(续一)1     javax.servlet 包的全部内容,希望文章能够帮你解决Servlet2.5 规范 学习笔记(续一)1     javax.servlet 包所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部