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

泰安毕业生档案查询做网站优化费用

泰安毕业生档案查询,做网站优化费用,深圳福田区怎么样,中国建筑材料网官网在 Java Web 开发中,拦截器(Interceptor)和过滤器(Filter)是两种常见的请求处理机制,它们用于对请求和响应进行预处理和后处理 1. 过滤器(Filter) 1.1 作用 Filter 主要用于对 请求…

在 Java Web 开发中,拦截器(Interceptor)和过滤器(Filter)是两种常见的请求处理机制,它们用于对请求和响应进行预处理和后处理

1. 过滤器(Filter)

1.1 作用

Filter 主要用于对 请求(request)响应(response) 进行预处理和后处理,通常用于请求日志记录、编码设置、安全检查等场景

1.2 工作原理

  • Filter 作用于 Servlet 之前,对请求进行预处理
  • 处理完请求后,Filter 也可以对响应进行后处理
  • 通过 FilterChain 将请求传递给下一个 Filter 或 Servlet

1.3 实现步骤

  1. 实现 javax.servlet.Filter 接口
  2. 重写 doFilter 方法
  3. web.xml 中进行配置,或者使用 @WebFilter 注解

1.4 示例代码

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;@WebFilter("/*") // 作用于所有请求
public class MyFilter implements Filter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System.out.println("Filter: 请求被拦截");chain.doFilter(request, response); // 继续请求System.out.println("Filter: 响应被拦截");}
}

2. 拦截器(Interceptor)

2.1 作用

Interceptor 主要用于 拦截控制器(Controller)的执行,在方法执行前后视图渲染前执行特定逻辑,如权限控制、日志记录、事务管理等

2.2 工作原理

  • Interceptor 依赖 Spring MVC,拦截的是 Controller 的执行过程
  • 可以在**方法调用前(preHandle)、方法调用后(postHandle)、视图渲染后(afterCompletion)**执行逻辑

2.3 实现步骤

  1. 实现 HandlerInterceptor 接口
  2. 重写 preHandlepostHandleafterCompletion 方法
  3. 在 Spring 配置中注册拦截器

2.4 示例代码

import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class MyInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("Interceptor: 进入 Controller 前");return true; // 继续执行 Controller 方法}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("Interceptor: 方法执行完毕");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("Interceptor: 视图渲染完成");}
}

2.5 拦截器的注册

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration
public class InterceptorConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");}
}

3. 过滤器与拦截器的对比

比较项过滤器(Filter)拦截器(Interceptor)
作用范围作用于 所有请求(包括静态资源)作用于 Spring MVC 控制器
依赖Servlet 规范Spring MVC
触发时机Servlet 之前 处理请求Controller 执行前后 处理请求
适用场景编码设置、日志记录、权限控制认证授权、日志、事务处理
处理方式doFilter 方法preHandlepostHandleafterCompletion

4. 总结

  1. Filter 适用于所有请求,包括静态资源,可以用于通用的请求预处理和后处理
  2. Interceptor 仅拦截 Controller 方法,适用于控制器层面的拦截,如权限控制、事务管理
  3. 在 Spring Boot 应用中,一般推荐使用 Interceptor 来拦截业务逻辑,而使用 Filter 处理通用的请求逻辑
http://www.dtcms.com/wzjs/563079.html

相关文章:

  • 海外搜索引擎网站建设如何建设红色旅游网站
  • 用rp怎么做网站功能按钮免费建站模板
  • 广告设计网站排行榜前十名济南知名网站建设平台
  • 常州 网站建设成都做一个小企业网站需要多少钱
  • 信誉好的网站建设案例想要做网站的企业
  • 郑州做网站远辰网站建设制作流程
  • 网站备案 法人用什么软件可以做网站动态
  • 国外的电商网站wordpress母婴主题
  • 家居装修企业网站源码汉中建设工程招标网
  • 昆明网站设计价格北京 网站开发 排行
  • 男女做暖暖插孔网站企业网站的结构以及内容.
  • 电商网站建设 平台济南正规网站制作怎么选择
  • html5的网站有哪些软件设计专业学什么
  • asp网站背景我做的网页怎么是危险网站
  • aspcms网站地图模板龙岗建网站
  • 超大型网站建设搞定设计
  • 各网站推广好玩的html网页代码
  • 织梦更换网站模板泰州做网站软件
  • 做网站要和企业logoseo标题优化的心得总结
  • 有哪些可以做推广的网站电商软文范例
  • 泉州学校网站建设小说网站虚拟主机
  • 上海建设工程质监站网站自己做网站费用
  • 优化网站首页学电脑培训多少钱
  • 贵阳北京小学网站建设广东网络seo推广平台
  • 网站建设算行政工作吗南通微信网站开发
  • 四川网站建设 lkcms在门户网站做产品单页多少钱一天
  • 品牌网站建设968网站制作哪家最好
  • 2017做哪些网站能致富做网页的软件哪个好用
  • 外贸营销型网站2018泰安最大的竞价排名公司
  • 淄博易宝网站建设做视频播放网站 赚钱