当前位置: 首页 > news >正文

南京网站建设外包互联网保险管理办法2021

南京网站建设外包,互联网保险管理办法2021,wordpress导航代码,做微商必会的软件网站1.Filter概述 Servlet Filter又称Servlet过滤器#xff0c;它是在Servlet2.3规范中定义的#xff0c;能够对Servlet容器传给Web资源的request对象和response对象执行检查和修改。 Filter不是Servlet#xff0c;不能直接访问#xff0c;其本身也不能生成request对象和resp…1.Filter概述 Servlet Filter又称Servlet过滤器它是在Servlet2.3规范中定义的能够对Servlet容器传给Web资源的request对象和response对象执行检查和修改。 Filter不是Servlet不能直接访问其本身也不能生成request对象和response对象只能为web资源提供以下过滤功能 1在web资源被访问前检查request对象修改请求头和请求正文或对请求执行预处理操作。 2将请求传递到下一个过滤器或目标资源。 3在web资源被访问后检查response对象修改响应头和响应正文。 Filter是Servlet规范中最实用的技术通过其可对服务器管理的所有web资源jspservlethtml等拦截从而实现特殊的功能例如用户权限控制、过滤敏感词、设置统一编码格式等。 注意:过滤器并不是必须要将请求传递到下一个过滤器或目标资源可自行对请求处理并发送响应给客户端也可以将请求转发或重定向到其他web资源。 2.Filter接口 与开发Servlet需要实现javax.servlet.Servlet接口类似开发过滤器要实现javax.servlet.Filter接口并提供一个公开的不带参数的构造方法在Filter接口中定义了3个方法如下所示 1init该方法用于初始化过滤器。 2doFilter():该方法完成实际的过滤操作当客户端请求的URL与过滤器映射的URL匹配时容器会先调用该方法对请求进行拦截。 3destroy:该方法在销毁Filter对象之前被调用用于释放被Filter对象占用的资源。 3、Filter的工作流程 1客户端请求访问容器内的web资源。 2Servlet容器接收请求并针对本次请求分别创建一个request对象和response对象。 3请求到达web资源之前先调用Filter的doFilter方法检查request对象修改请求头和请求正文或对请求执行预处理操作。 4在Filter的doFilter()方法内调用FilterChain.doFilter()方法将请求传递给下一个过滤器或目标资源。 5目标资源生成响应信息返回客户端之前处理控制权会再次回到Filter的foFilte方法执行FilterChain.doFilter()后的语句检查response对象修改响应头和响应正文。 6响应信息返回客户端。 4、Filter生命周期分为3个阶段 1初始化阶段 Servlet容器负责加载和实例化Filter。容器启动时读取web.xml或WebFilter的配置信息加载和实例化所有过滤器。 加载和实例化完成后Servlet容器调用init方法初始化Filter实例。在Filter生命周期内init方法只执行一次。 2拦截和过滤阶段 这个阶段是Filter生命周期中最重要的阶段。当客户端请求访问web资源时Servlet容器会根据web.xml或WebFilter的过滤规则执行检查。当客户端请求的URL与过滤器映射匹配时容器将该请求的request对象以及FilterChain对象以参数的形式传递给Filter的doFilter方法并调用该方法请求/响应拦截和过滤。 3销毁阶段 Filter对象创建后会驻留在内存中直到容器关闭或应用被移除时销毁销毁Filter对象之前容器会先调用destory方法释放过滤器占用的资源。在Filter生命周期内destory只执行一次。 5.注册和映射Filter 1通过web.xml配置 元素说明 filter用于注册过滤器 filter-name是filter元素的子元素用于指定过滤器的注册名该元素的内容不能为空。 filter-class是filter元素的子元素用于指定过滤器的完整限定名包名类名 init-param是filter元素中的子元素用于为过滤器指定初始化参数它的子元素param-name指定参数的名称param-value指定参数的值 filter-mapping元素用于设置Filter负责拦截的资源。 filter-name是filter-mapping元素的子元素用于设置Filter的注册名该值必须在filter元素的子元素filter-name中声明过。 url-pattern是filter-mapping元素的子元素用于设置Filter拦截的请求路径。 servlet-name是filter-mapping元素的子元素用于指定Filter拦截的资源被Servlet容器调用的方式可以是REQUEST,INCLUDE,FORWAED和ERROR之一。默认情况是REQUEST。用户可以设置多个dispatcher子元素指定Filter对资源的多种调用方式进行拦截。 dispather元素的取值及意义 REQUEST:当用户直接访问页面时容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include或forward()方法访问则该过滤器就不会被调用。 INCLUDE:如果目标资源通过RequestDispatcher的include()方法访问则该过滤器将被调用除此之外该过滤器不会被调用。 ERROR:如果目标资源通过声明式异常处理机制访问则该过滤器将被调用除此之外过滤器不会被调用。 2通过WebFilter注解配置 WebFilter注解也可配置过滤器容器在部署应用时会根据具体属性配置将相应类部署为过滤器。 WebFilter注解具有下标给出的一些常用属性但是value,urlPatterns,servletNames三者必须至少包含一个且value和urlPatterns不能共存如果同时指定通常忽略value的取值。 6、过滤器链 在web应用中可部署多个Filter若这些Filter都拦截同一目标资源就组成了一个Filter链过滤器链中的每个过滤器负责特定操作和任务客户端请求在各个过滤器减传递直至传递给目标资源。 FilterChain接口javax.servlet包中提供了一个FilterChain接口该接口由容器实现。容器将其实例对象作为参数传入Filter对象的doFilter()方法中。Filter对象可以使用FilterChain对象调用链中下一个Filter的doFilter方法若该Filter是链中最后一个过滤器则调用目标资源的service方法。FilterChain接口中只有一个方法——doFilter详细信息如下 7.Filter链的拦截过程 请求资源时过滤器链中的过滤器一次对请求处理并将请求传递给下一个过滤器直到最后将请求传递给目标资源发送响应信息时。则按照相反的顺序对相应处理直到将响应返回给客户端。 注意过滤器链中的任何一个Filter没有调用FilterChain.doFilter()方法请求都不会达到目标资源。 8、总结Filter代码编写流程 1定义类实现Filter接口并重写其所有方法 2配置Fiter拦截资源的路径在类上定义WebFilter注解或者web.xml文件配置。 3在doFilter方法中设置处理的方法。 具体的代码案例 span stylebackground-color:#f8f8f8span stylecolor:#333333package Filter; ​ import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException; ​ ​ WebFilter(/*) //表示拦截所有资源 public class UserSessionFilter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {Filter.super.init(filterConfig);} ​Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println(过滤器成功执行);//放行filterChain.doFilter(servletRequest,servletResponse); ​} ​Overridepublic void destroy() {Filter.super.destroy();} }/span/span 运行截图
http://www.w-s-a.com/news/400262/

相关文章:

  • 网上网站开发这个百度的网站怎么做的
  • 南昌市建设局官方网站网龙网络公司地址
  • 自助建站平台源码公司网站谁负责做
  • 旅游的网站怎么做网站流量的主要来源有
  • 高新网站设计找哪家网络科技有限公司实习报告
  • 专业网站建设质量推荐网络销售是做网站推广
  • 旅游网站建设模板wordpress最好最全的教程
  • 网站站长在哪登陆后台网站设计一年费用
  • 济南比较好的网站建设公司邢台信息网123
  • 双峰网站建设漳州优化网站建设
  • app和网站开发的成本虚拟主机是啥
  • 想做一个自己设计公司的网站怎么做的销售培训
  • 南昌网站建设模板合作凡客app哪去了
  • 有免费做网站的吗建设互联网站
  • 北京市保障房建设投资中心网站淄博哪个网站做房屋出赁好
  • 如何做网站的优化网站开发怎么收费
  • 网站的关键词怎么选择2345实用查询
  • 免费的制作网站做图剪片文案网站app接单
  • 中国有多少网站有多少域名上海网站建设网页制作邢台
  • 网站 数据报表如何做室内设计联盟官方网站入口
  • 怎样建设网站论文合肥做网站的软件公司
  • 收款后自动发货的网站是怎么做的怎么看网站后台网页尺寸
  • 谷歌seo引擎优化宁波seo关键词
  • 外贸网站建设需要注意什么seo课程
  • 做信息图网站网站建设的软件介绍
  • 网站开发语言数据库有几种魏县审批建设的网站
  • 北京公司网站建设推荐海口建设
  • 不懂编程如何做网站婚礼网站模板
  • 像京东一样的网站wordpress入门视频教程7 - 如何在文章里加入视频和音乐
  • 惠州网站建设排名wordpress3万篇文章优化