「JavaWeb 20-2」Filter快速入门

「JavaWeb 20-2」Filter快速入门#头条创作挑战赛#10.2 Filter快速入门10.2.1 开发步骤进行 Filter 开发分成以下三个步骤实现:定义类,实现 Filter

欢迎大家来到IT世界,在知识的湖畔探索吧!

#头条创作挑战赛#

10.2 Filter快速入门

10.2.1 开发步骤

进行 Filter 开发分成以下三个步骤实现:

  • 定义类,实现 Filter 接口,并重写其所有方法
  • 配置 Filter 拦截资源的路径:在类上定义 @WebFilter 注解。而注解的 value 属性值 /* 表示拦截所有资源
  • 在 doFilter 方法中输出一句话,并放行
 package web.filter;
 
 import javax.servlet.*;
 import javax.servlet.annotation.WebFilter;
 import java.io.IOException;
 
 /**
  * @Author 晨默
  * @Date 2022/9/11 10:47
  */
 // 步骤2:
 @WebFilter("/*")
 public class FilterDemo1 implements Filter { // 步骤1
     @Override
     public void init(FilterConfig filterConfig) throws ServletException {
     }
 
     @Override
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
         // 步骤3
         System.out.println("FilterDemo1....");
         
         // 这语句代表对资源进行放行,允许访问本该访问的资源
         filterChain.doFilter(servletRequest,servletResponse);
     }
 
     @Override
     public void destroy() {
     }
 }

欢迎大家来到IT世界,在知识的湖畔探索吧!

10.2.2 代码演示

  • 对 pom.xml 文件进行配置,只需要引进 tomcat插件 和 servlet 的依赖坐标

pom.xml 具体如下所示:

欢迎大家来到IT世界,在知识的湖畔探索吧! <?xml version="1.0" encoding="UTF-8"?>
 <!-- $Id: pom.xml 642118 2008-03-28 08:04:16Z reinhard $ -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 
   <modelVersion>4.0.0</modelVersion>
   <packaging>war</packaging>
 
   <name>FilterDemo</name>
   <groupId>org.example</groupId>
   <artifactId>FilterDemo</artifactId>
   <version>1.0-SNAPSHOT</version>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
     <java.version>16</java.version>
     <maven.compiler.source>16</maven.compiler.source>
     <maven.compiler.target>16</maven.compiler.target>
   </properties>
 
   <build>
     <plugins>
       <!-- Tomcat插件 -->
       <plugin>
         <groupId>org.apache.tomcat.maven</groupId>
         <artifactId>tomcat7-maven-plugin</artifactId>
         <version>2.2</version>
         <configuration>
           <!-- 访问端口号 -->
           <port>5050</port>
           <path>/</path>
         </configuration>
       </plugin>
     </plugins>
   </build>
 
   <dependencies>
     <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>
       <version>4.0.1</version>
       <scope>provided</scope>
     </dependency>
   </dependencies>
 
 </project>

报错警示:会出现 Java 不支持 Java5 版本

此时需要在 项目结构 中的模块中设置编译语言,与使用的语言版本一直即可,

「JavaWeb 20-2」Filter快速入门

「JavaWeb 20-2」Filter快速入门

  • 编写 hello.jsp 页面内容如下:
 <%--   Created by IntelliJ IDEA.   User: 晨默   Date: 2022/9/11   Time: 11:05   To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head>     <title>Title</title> </head> <body>     <h1>Hello Filter!</h1> </body> </html> 

演示效果

  1. 当 过滤器的 dofilter() 中没有编写 filterChain.doFilter(servletRequest,servletResponse); 语句时,访问 hello.jsp 页面 没有任何效果,在 idea 控制台 会打印如下内容:
「JavaWeb 20-2」Filter快速入门

  1. 编写了 filterChain.doFilter(servletRequest,servletResponse); 后,hello.jsp 页面就可以正常显示了

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/30280.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信