关于过滤器的路径
老师,为什么之前学过滤器的时候,我们是这样设置的
package com.mason.web.filter; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException; @WebFilter("/CharacterEncodingFilter") public class CharacterEncodingFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); chain.doFilter(req, resp); } public void init(FilterConfig config) throws ServletException { } }
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <filter> <filter-name>characterEncoding</filter-name> <filter-class>com.mason.web.filter.CharacterEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>characterEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
先设置@WebFilter("/CharacterEncodingFilter")
然后在xml中注册过滤器
<filter> <filter-name>characterEncoding</filter-name> <filter-class>com.mason.web.filter.CharacterEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>characterEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
但为什么视频中老师是直接把@WebFilter("/*")就可以了呢?
不需要在XML中注册以及配置过滤器吗?
7
收起
正在回答
2回答
同学你好,
@WebServlet注解用于标注在一个继承了HttpServlet类之上,属于类级别的注解。该注解的作用等价于在web.xml中配置该servlet的<servlet-mapping>元素中的<url-pattern>。
每个注解的作用基本都不相同,在这里,同学可以不用纠结注解的作用,在第四阶段的课程中,对它有详细的讲解呢~
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
3. Java 数据库开发与实战应用
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星