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

网站建设与制作微信广告朋友圈投放

网站建设与制作,微信广告朋友圈投放,最近发生的新闻事件,开网店的流程和步骤WebFilter 是 Java Servlet 3.0 之后引入的注解(Annotation),用于定义Servlet 过滤器(Filter),避免在 web.xml 里进行繁琐的配置。 1. WebFilter 的作用 用于标记一个类是Servlet 过滤器。 通过 urlPatter…

@WebFilter 是 Java Servlet 3.0 之后引入的注解(Annotation),用于定义Servlet 过滤器(Filter),避免在 web.xml 里进行繁琐的配置。

1. @WebFilter 的作用

  • 用于标记一个类是Servlet 过滤器

  • 通过 urlPatternsvalue 指定要拦截的请求路径。

  • 过滤器可以在请求到达 Servlet 之前或返回客户端之前进行处理,如权限校验、日志记录、修改请求/响应等。

2. @WebFilter 的基本使用

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;@WebFilter("/*") // 拦截所有请求
public class MyFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {System.out.println("过滤器初始化");}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {System.out.println("请求进入过滤器");// 继续请求(让请求到下一个过滤器或目标 Servlet)chain.doFilter(request, response);System.out.println("响应离开过滤器");}@Overridepublic void destroy() {System.out.println("过滤器销毁");}
}

3. @WebFilter 主要参数

(1)urlPatterns / value

指定要拦截的请求路径。

@WebFilter(urlPatterns = {"/api/*", "/admin/*"})
// 或者
@WebFilter(value = {"/api/*", "/admin/*"})

(2)servletNames

指定拦截特定的 Servlet,而不是路径。

@WebFilter(servletNames = {"MyServlet"})

(3)dispatcherTypes

控制过滤器在请求的哪个阶段执行:

  • REQUEST(默认):普通请求。

  • FORWARDRequestDispatcher.forward() 转发时触发。

  • INCLUDERequestDispatcher.include() 包含时触发。

  • ERROR:错误请求时触发。

  • ASYNC:异步请

    @WebFilter(urlPatterns = "/*", dispatcherTypes = {DispatcherType.REQUEST, DispatcherType.FORWARD})
    

    求时触发。

4. 过滤器的执行顺序

  • 多个过滤器按照类名的字母顺序执行,例如:

    • AFilter 先执行,BFilter 后执行。

  • 如果要手动指定顺序,可以使用 @WebFilter 配合 @Order 注解:

@Order(1) // 优先级高,先执行
@WebFilter("/*")
public class FirstFilter implements Filter {}@Order(2) // 优先级低,后执行
@WebFilter("/*")
public class SecondFilter implements Filter {}

5. @WebFilter vs. web.xml 配置

方式优势劣势
@WebFilter代码简洁,易读不能动态修改,需要重启服务器
web.xml可动态修改,无需改代码代码较冗长,手写 XML

6. 进阶:登录拦截器示例

@WebFilter("/admin/*") // 仅拦截 /admin/ 目录
public class AuthFilter implements Filter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse res = (HttpServletResponse) response;HttpSession session = req.getSession(false);if (session == null || session.getAttribute("user") == null) {res.sendRedirect("/login.jsp"); // 未登录,跳转到登录页面return;}chain.doFilter(request, response); // 继续执行}
}

 

总结

  • @WebFilter 用于定义过滤器,拦截特定 URL 或 Servlet 请求。

  • doFilter() 需要调用 chain.doFilter(request, response) 放行请求,否则会中断请求链。

  • 过滤器可以拦截请求、修改响应、实现权限控制、日志记录等功能

  • 可使用 @Order 指定多个过滤器的执行顺序。

http://www.dtcms.com/wzjs/32308.html

相关文章:

  • 网站建设与维护经营范围老司机们用的关键词有哪些
  • 做进口产品的网站百度seo哪家公司好
  • 统一手机网站搜狗官网
  • 营销型企业网站建设方案百度指数分析
  • 网站建设价格标准方案如何seo网站推广
  • 广西政府网站政务新媒体建设调查推广的软件
  • 网站服务器建设商推广软件赚钱
  • 长沙做黄叶和网站的公司有哪些营销推广工作内容
  • 如何做实体店的网站网站推广网络推广
  • 专题页网站怎么做杭州seo排名费用
  • 公司建设网站费用做那个科目青岛seo网站排名优化
  • 达州建设网站电商中seo是什么意思
  • 南宁市网站建设哪家好如何在百度做免费推广产品
  • wordpress4.9.3漏洞搜索引擎排名优化
  • diy网站建设武汉seo公司
  • 从零开始做网站百度提交网址
  • 网站建设教程所需文字腾讯企点app
  • 买网站的域名网络营销工作内容是什么
  • 上海做网站公司排名优化营商环境个人心得体会
  • 长沙一键建站系统福州seo服务
  • 个人备案的域名可以做网站吗哪里有免费的网站推广
  • 电子商务网站建设的一般网络营销薪酬公司
  • 深圳营销型网站建设多少钱吉林黄页电话查询
  • 东莞营销型网站建设站长之家查询域名
  • 网站建设主机配置seo优化方案
  • 做网站需要解析吗南昌seo建站
  • 上海网站建设哪里好优化方案官方网站
  • dw做的网站怎么全屏站长工具seo综合
  • 郑州网站制作-中国互联内容营销是什么意思
  • 个人网站命名的要求企业培训课程推荐