96SEO 2026-02-19 22:23 11
1.创建自定义拦截器#xff0c;实现HandlerInterceptor接口,并按照要求重写指定方法

HandlerInterceptor接口源码主要应用在日志记录、权限校验等安全管理方便。
1.创建自定义拦截器实现HandlerInterceptor接口,并按照要求重写指定方法
afterCompletion(HttpServletRequest
根据源码可看出HandlerInterceptor接口提供了三个default方法这三个方法作用不同用户想要自定义个一个指定拦截规则的拦截器需要重写其中一个或者多个方法这三个方法作用如下
perHandlepreHandle方法的作用是当请求在进入controller之前拦截请求对请求进行预处理比如登录验证cookie,tokenreferer或者单点登录cookie解析都可以在这方法中进行。
该方法的返回值如果返回true表示放行至controller业务层如果false表示请求非法结束请求并返回错误信息。
postHandlerpostHandle方法是在请求被controller处理完但是还未传递到业务模板进行渲染拦截即controller处理完返回ModelAndView
之前执行该方法可以操控ModelAndView的值所以该方法多了一个参数ModelAndView这个参数包含了controller处理完后需要传递的Model参数因此我们可以在该方法通过ModelAndView对象对返给前端的额视图做一定的修改。
afterCompletionafterCompletion方法作用就是做些收尾工作在ModelAndView返回前端进行渲染后执行比如有时候我们需要把每个线程的局部变量如User信息放入到TheradLocal中为了防止内存泄露在最后需要清除ThreadLocal的内容此操作就可以放在该方法中执行。
自定义一个获取并返回某个静态资源的内容已整个请求所花费时间的时间拦截器
org.springframework.web.servlet.HandlerInterceptor;
org.springframework.web.servlet.ModelAndView;import
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;public
LoggerFactory.getLogger(MyInterceptor.class);private
request.getRequestURI();LOGGER.info(uri
//获取开始时间START_THREAD_LOCAL.set(startTime);
request.getRequestURI();LOGGER.info(uri
START_THREAD_LOCAL.get();//得到线程绑定的局部变量开始时间Long
afterCompletion(HttpServletRequest
request.getRequestURI();LOGGER.info(uri
}2.添加配置类实现WebMvcController接口并添加Configuration注解在配置类中重写addIntercepters方法添加要拦截的url以及url白名单需要排除拦截的url
configurePathMatch(PathMatchConfigurer
configureContentNegotiation(ContentNegotiationConfigurer
configureAsyncSupport(AsyncSupportConfigurer
configureDefaultServletHandling(DefaultServletHandlerConfigurer
addFormatters(FormatterRegistry
addInterceptors(InterceptorRegistry
addResourceHandlers(ResourceHandlerRegistry
addViewControllers(ViewControllerRegistry
configureViewResolvers(ViewResolverRegistry
addArgumentResolvers(ListHandlerMethodArgumentResolver
addReturnValueHandlers(ListHandlerMethodReturnValueHandler
configureMessageConverters(ListHttpMessageConverter?
extendMessageConverters(ListHttpMessageConverter?
configureHandlerExceptionResolvers(ListHandlerExceptionResolver
extendHandlerExceptionResolvers(ListHandlerExceptionResolver
}根据源码可以看出WebMvcConfigurer提供了多个方法并且也都是default方法也是根据我们自定义配置重写其中一个或者多个方法这里就介绍两个常用的方法
addInterceptors从该方法名就可以了解到该方法是添加拦截器即将拦截器交给IOC去执行拦截器需要拦截的路径以及需要排除拦截的路径在该方法中配置。
addResourceHandlers该方法的作用是配置静态资源路径。
即某些请求需要读取某个路径下的静态资源内容需要配置该静态资源的路径通过该方法可以统一给这些请求配置指定静态资源路径
com.eureka.intercrpotor.MyInterceptor;
org.springframework.context.annotation.Bean;
org.springframework.context.annotation.Configuration;
org.springframework.web.servlet.config.annotation.InterceptorRegistry;
org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
org.springframework.web.servlet.config.annotation.WebMvcConfigurer;Configuration
MyInterceptor();}Overridepublic
addInterceptors(InterceptorRegistry
{registry.addInterceptor(myInterceptor())
表示拦截所有请求url.excludePathPatterns(/hello);
排除某些不需要拦截的请求url即带有/hello请求不会被拦截}Overridepublic
addResourceHandlers(ResourceHandlerRegistry
{registry.addResourceHandler(/**)
配置需要添加静态资源的请求url.addResourceLocations(classpath:/mydata/);
org.springframework.http.ResponseEntity;
org.springframework.web.bind.annotation.GetMapping;
org.springframework.web.bind.annotation.RestController;RestController
{GetMapping(/test/interceptor)public
ResponseEntity.ok(successful);}
localhost:60011/test/interceptor
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback