我要发布
仪器网/ 仪器社区/ 过滤器/ 如何创建过滤器Filter?

如何创建过滤器Filter?

倒霉蛋嗨    2017-09-21    过滤器    浏览 369 次

精彩问答
http77603187 发布日期:2017-09-22
建立一个过滤器涉及下列五个步骤: 1、建立一个实现Filter接口的类。这个类需要三个方法,分别是:doFilter、init和destroy。doFilter方法包含主要的过滤代码,init方法建立设置操作,而destroy方法进行清楚。 2、在doFilter方法中放入过滤行为。doFilter方法的diyi个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在简单的过滤器中忽略此参数。Z后一个参数为FilterChain,如下一步所述,此参数用来调用servlet或JSP页。 3、调用FilterChain对象的doFilter方法。Filter接口的doFilter方法取一个FilterChain对象作为它的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过滤器。如果没有另一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。 4、对相应的servlet和JSP页面注册过滤器。在部署描述符文件(web.xml)中使用filter和filter-mapping元素。 5、禁用激活器servlet。防止用户利用缺省servlet URL绕过过滤器设置。doFilter方法: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException{HttpServletRequest req = (HttpServletRequest)request; System.out.println(req.getRemoteHost() + " tried to access " +req.getRequestURL() +" on " + new Date() + "."); chain.doFilter(request,response); }在web.xml中进行部署 分别是:filter和filter-mapping。filter元素向系统注册一个过滤对象,filter-mapping元素指定该过滤对象所应用的URL。 1.filter元素 filter元素位于部署描述符文件(web.xml)的前部,所有filter-mapping、servlet或servlet-mapping元素之前。filter元素具有如下六个可能的子元素: :icon 这是一个可选的元素,它声明IDE能够使用的一个图象文件。 :filter-name 这是一个必需的元素,它给过滤器分配一个选定的名字。 :display-name 这是一个可选的元素,它给出IDE使用的短名称。 :description 这也是一个可选的元素,它给出IDE的信息,提供文本文档。 :filter-class 这是一个必需的元素,它指定过滤器实现类的完全限定名。 :init-param 这是一个可选的元素,它定义可利用FilterConfig的getInitParameter方法读取的初始化参数。单个过滤器元素可包含多个init-param元素。2.filter-mapping元素 filter-mapping元素位于web.xml文件中filter元素之后serlvet元素之前。它包含如下三个可能的子元素:: :filter-name 这个必需的元素必须与用filter元素声明时给予过滤器的名称相匹配。 :url-pattern 此元素声明一个以斜杠(/)开始的模式,它指定过滤器应用的URL。所有filter-mapping元素中必须提供url-pattern或servlet-name。但不能对单个filter-mapping元素提供多个url-pattern元素项。如果希望过滤器适用于多个模式,可重复整个filter-mapping元素。 :servlet-name 此元素给出一个名称,此名称必须与利用servlet元素给予servlet或JSP页面的名称相匹配。不能给单个filter-mapping元素提供多个servlet-name元素项。
最新主题
相关版块
我要评论
X您尚未登录
账号登录
X您尚未登录
手机动态密码登录
X您尚未登录
扫码登录
官方微信

仪器网微信服务号

扫码获取最新信息


仪器网官方订阅号

扫码获取最新信息

在线客服

咨询客服

在线客服
工作日:  9:00-18:00
联系客服 企业专属客服
电话客服:  400-822-6768
工作日:  9:00-18:00
订阅商机

仪采招微信公众号

采购信息一键获取海量商机轻松掌控