Filter、Listener 学习总结

  今天我们来介绍 Filter、Listener 这两个模块一些简单的知识和应用,接下来我们开始我们的正题 !

  1. Filter(过滤器)

    1.1 对 Servlet 容器调用 Servlet 的过程进行拦截,从而在 Servlet 进行响应的前后实现一些特殊的功能,我们需要知道 JSP 的底层实现也是 Servlet 所以所拦截的当然包括 JSP

    1.2 如何写一个 FIiter?

      a. 实现 Filter 接口(类似于 Servlet 接口,我们可以对比 Servlet 接口学习 Filter)

      b. 在 web.xml 文件中映射文件 Filter

      c. 配置所要拦截的资源

    1.3 Filter 接口

      a. Filter 对象在被 WEB 应用加载的时候便被创建, init(FilterConfig filterConfig)  方法在创建 Filter 对象的时候别调用,且只有一次;FilterConfig 对象类似于 ServletConfig 对象,可以获取当前 FilterConfig 的初始化参数;

      b.  doFilter(ServletRequest request, ServletResponse response, FilterChain chain)  每次请求的拦截都会调用该方法,所以便是执行逻辑代码的方法,利用此方法拦截请求后使用方法  chain.doFilter(requset, response);  释放链接,或者传给下一个 Filter 进行拦截,或者将请求放回请求资源

      c. 对于多个 Filter,其执行顺序按照 web.xml 文件中的映射顺序执行,与创建时间无关

      d. 小案例之 HelloWorld

        Ⅰ. 演示

          

Filter、Listener 学习总结

        Ⅱ. 功能介绍

          a. 一个小登录页面,用户名和密码分别配置为当前 WEB 的应用初始化参数,通过获取请求参数和配置的初始化参数进行比较,若正确则响应欢迎页面,否则返回原页面响应错误消息;

        Ⅲ. 代码

          a. 登录页面

1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <html> 3 <head> 4 <title>Login</title> 5 </head> 6 <body> 7 <h3>${requestScope.message}</h3> 8 <form action="hello.jsp" method="post"> 9 UserName: <input type="text" name="name"><br><br> 10 PassWord: <input type="password" name="password"><br><br> 11 <button type="submit">Submit</button> 12 </form> 13 </body> 14 </html>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpdpj.html