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

国外域名网站推荐营销公司网站模板下载

国外域名网站推荐,营销公司网站模板下载,wordpress开启hppts后格式,漯河建网站2023.10.26 Filter过滤器 过滤器#xff0c;顾名思义就是对事物进行过滤的。Web中的过滤器#xff0c;就是对请求进行过滤#xff0c;我们使用过滤器#xff0c;就可以对请求进行拦截#xff0c;然后做相应的处理#xff0c;实现许多特殊功能。如登录控制#xff0c;权…2023.10.26 Filter过滤器 过滤器顾名思义就是对事物进行过滤的。Web中的过滤器就是对请求进行过滤我们使用过滤器就可以对请求进行拦截然后做相应的处理实现许多特殊功能。如登录控制权限管理过滤敏感词汇等。 Filter可以在Servlet这个目标程序执行之前添加代码也可以在目标Servlet执行之后添加代码之前之后都可以添加过滤规则。一般情况下都是在过滤器当中编写公共代码。所以通过过滤器可以实现代码重用的功能。 如果同一个资源或同一组资源中应用了多个过滤器则调用顺序显得比较重要这时候就需要配置web.xml文件来控制其先后顺序。 如何实现一个过滤器 编写一个Java类实现一个接口jarkata.servlet.Filter。并且实现这个接口当中所有的方法。 init方法在Filter对象第一次被创建之后调用并且只调用一次。doFilter方法只要用户发送一次请求则执行一次。发送N次请求则执行N次。在这个方法中编写过滤规则。 destroy方法在Filter对象被释放/销毁之前调用并且只调用一次。 在web.xml文件中对Filter进行配置。这个配置和Servlet很像。也可以使用注解WebFilter psFilter的生命周期 和Servlet的声明周期基本一样唯一区别就是Servlet对象默认情况下在服务器启动的时候是不会新建对象的。而Filter对象默认情况下在服务器启动的时候会新建对象。 psFilter的优先级天生的就比Servlet优先级高。 目标Servlet是否执行取决于两个条件 第一在过滤器当中是否编写了chain.doFilter(request, response); 代码。 第二用户发送的请求路径是否和Servlet的请求路径一致。 Filter过滤器使用案例 先编写一个filter类实现Filter接口 package filter;import jakarta.servlet.*; import jakarta.servlet.annotation.WebFilter;import java.io.IOException;WebFilter(*.do) public class filter1 implements Filter {public filter1() {System.out.println(无参构造执行了);}Overridepublic void init(FilterConfig filterConfig) throws ServletException {System.out.println(init方法执行了);}Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println(doFilter方法执行了);// 执行下一个过滤器如果下一个不是过滤器了则执行目标程序Servlet。filterChain.doFilter(servletRequest,servletResponse);System.out.println(doFilter方法执行结束);}Overridepublic void destroy() {System.out.println(destroy方法执行了);} }chain.doFilter(request, response); 这行代码的作用 执行下一个过滤器如果下面没有过滤器了执行最终的Servlet。 编写两个servlet类 Aservlet package filter;import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse;import java.io.IOException;WebServlet(/a.do) public class Aservlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(Aservlet的doget方法执行了。);} }Bservlet package filter;import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse;import java.io.IOException;WebServlet(/b.do) public class Bservlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(Bservlet的doget方法执行了);} }注意两个servlet对应的路径必须以“.do”结尾因为之前过滤器设定的路径是“ *.do ”。 然后在浏览器输入http://localhost:8080/servlet09/a.do 控制台输出如下 然后在浏览器输入http://localhost:8080/servlet09/b.do 控制台输出如下 如果有多个过滤器的情况 ①如果你是用注解进行配置的过滤器执行顺序是根据Filter的类名来的。 比如FilterA和FilterB先执行FilterA。Filter1和Filter2先执行Filter1。 ②在web.xml文件中进行配置的时候Filter的执行顺序是从上至下依次执行。 Listener监听器 Listener 是 Web 的三大组件之一另外两大是Servlet控制器、Filter过滤器。 Listener 可以 监听 JavaWeb 中的三大域对象HttpServletRequest、HttpSession、ServletContext 创建和销毁一旦被监视的对象发生相应的变化应该采取相应的操作。 Servlet规范中提供了哪些监听器 jakarta.servlet包下 ServletContextListener在context对象创建和销毁时调用下同 ServletContextAttributeListener在context域的数据被修改时调用下同 ServletRequestListener ServletRequestAttributeListener jakarta.servlet.http包下 HttpSessionListener HttpSessionAttributeListener 该监听器需要使用WebListener注解进行标注。 该监听器监听的是什么是session域中数据的变化。只要数据变化则执行相应的方法。主要监测点在session域对象上。 HttpSessionBindingListener 该监听器不需要使用WebListener进行标注。 假设User类实现了该监听器那么User对象在被放入session的时候触发bind事件User对象从session中删除的时候触发unbind事件。 假设Customer类没有实现该监听器那么Customer对象放入session或者从session删除的时候不会触发bind和unbind事件。 HttpSessionIdListener不常用 session的id发生改变的时候监听器中的唯一一个方法就会被调用。 HttpSessionActivationListener不常用 监听session对象的钝化和活化的。 钝化session对象从内存存储到硬盘文件。 活化从硬盘文件把session恢复到内存。 实现一个监听器的步骤 以ServletContextListener为例先编写一个类实现ServletContextListener接口并且实现里面的方法。在web.xml文件中对ServletContextListener进行配置或者使用注解WebListener。这里直接使用注解代码如下 package listener;import jakarta.servlet.ServletContextEvent; import jakarta.servlet.ServletContextListener; import jakarta.servlet.annotation.WebListener;// ServletContextListener监听器主要监听的是ServletContext对象的状态。 WebListener public class MyServletContextListener implements ServletContextListener {/*** 监听器中的方法不需要程序员手动调用。是发生某个特殊事件之后被服务器调用。* param sce*/Overridepublic void contextInitialized(ServletContextEvent sce) { // 服务器启动时间点想在这个时候执行一段代码写就行了。// 这个方法是在ServletContext对象被创建的时候调用。System.out.println(ServletContext对象创建了。);}Overridepublic void contextDestroyed(ServletContextEvent sce) { // 服务器关闭时间点。// 现在这个特殊的时刻写代码你写就是了。它会被服务器自动调用。// 这个方法是在ServletContext对象被销毁的时候调用。System.out.println(ServletContext对象被销毁了。);} }此时启动服务器控制台显示如下 关闭服务器控制台显示如下
http://wiki.neutronadmin.com/news/243836/

相关文章:

  • 广东省建设局网站软文推广怎么做
  • 邯郸外贸网站建设公司wordpress退出登录界面
  • 网站设计设计方案重庆网站外包
  • 模板网站是什么it运维培训
  • 那个网站可以接做网页私活福建漳州网站建设公司
  • 流量查询中国移动官方网站网站开发需求分析说明
  • wordpress 阅读小说关于优化网站建设的方案
  • 彩票网站开发亿云服务好的网站建设平台
  • 怎么夸客户网站做的好优化课程体系
  • 网站域名解绑青岛市网站制作
  • 怎样建设尧都水果网站区块链企业解决方案
  • 淮南制作网站wordpress更改ip地址
  • 永川集团网站建设网站百度地图代码
  • 做网站的控件宁波企业黄页公司黄页
  • 2019年做网站还有机会吗北京门头沟山洪暴发
  • 免费商城网站模板下载网站建设好就业吗
  • 报社网站建设方案在哪里找个人做网站的
  • i深圳网站建设购物网站如何做
  • 淄博网站推广wordpress站内链接跳转
  • 毕设电商网站设计可以用来做视频网站的视频外链吗
  • 如何做分享赚钱的网站怎样查网站备案人的联系方式
  • 网站建设策划稿网站开发要先买服务器吗
  • 娄底做网站的公司企业组网解决方案
  • 网站课程建设申报书wordpress 插件 卡
  • 山东建设局网站电工有没有免费看的视频
  • 网站建设与管理提纲免费咨询律师电话12345
  • 做网站先买域名如何做推广宣传
  • 怎么做自己的一个网站公司高端网站设计公司
  • 高端网站设计建设淘宝客静态网站
  • 网站建设售后服务明细网络推广比较经典和常用的方法有