手机版

JavaWeb Servlet中过滤器过滤器的详解

时间:2021-09-03 来源:互联网 编辑:宝哥软件园 浏览:

JavaWeb Servlet中过滤器过滤器的详解

1.简述

过滤器过滤器,对网服务器所有网资源进行过滤,从而实现一些特殊的功能(权限访问控制、过滤敏感词汇、压缩响应信息)。过滤器能够对小型应用程序容器的请求和响应进行检查和修改,其本身不能生成请求请求和响应回应,只提供过滤作用(Servlet被调用之前检查请求对象修改其相关信息,Servlet被调用后检查反应修改其相关信息),过滤器对象常驻服务器。

2.生命周期

(1).启动服务器,读取配置文件web.xml,装载过滤器类并实例化,调用init();(2).用户访问的资源被过滤器的全球资源定位器(Uniform Resource Locator)模式匹配,调用doFilter(),要过滤的对象通过chain.doFilter()方法交给下个过滤器处理;(3).应用被停止或重新装载,则调用销毁()。

3 .链条过滤链

两个过滤器起到不同的过滤作用,服务器会按照web.xml中过滤器定义的先后循序组装成一条链,通过chain.doFilter()依次执行每个过滤器的doFilter()。执行过程中任何时候都可以打断,只要不执行chain.doFilter()就不会再执行后面的过滤器和请求的内容。

4.过滤器的配置

(1).继承过滤器接口,复写doFilter()方法(2).web.xml的配置,以过滤符合要求的操作

关于全球资源定位器(Uniform Resource Locator)模式配置说明

/* * MyFilter.java *过滤器*/package。com。百度。web导入Java。io。ioexception导入javax。servlet。过滤器;导入javax。servlet。过滤链;导入javax。servlet。FilterConfig导入javax。servlet。servletexception导入javax。servlet。servlet请求;导入javax。servlet。servlet响应;导入javax。servlet。http。HttpServletrequest导入javax。servlet。http。HttpServletResponse公共类我的过滤器实现筛选器{ @覆盖公共void destroy(){ } @覆盖公共void doFilter(servlet请求、ServletResponse、FilterChain)引发IOException,ServletException { //对请求请求进行处理httpersvletresponse resp=(httpersvletresponse)响应;HttpServletRequest请求=(HttpServletRequest)请求;字符串用户名=(字符串)req.getSession().getAttribute(' username ');if(req.getRequestURI().包含(“购买”)|| req.getRequestURI().包含(“collect”){ if(username==null | | username。equals('){//满足过滤要求,进行处理请求。getrequestdispatcher('/log in。JSP ').转发(请求、响应);返回;} } chain.doFilter(req,resp);//对相应反应进行处理} @覆盖公共void init(过滤器配置过滤器配置)引发ServletException {//过滤器配置,通过filterConfig的getServletContext()方法可以获得ServletContext }}过滤器过滤器-名称过滤器/过滤器-名称filter-classcom.baidu.web.MyFilter/filter-class/过滤器过滤器-映射过滤器-名称过滤器/过滤器-名称网址-模式/*/URL-模式/过滤器-映射如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

版权声明:JavaWeb Servlet中过滤器过滤器的详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。