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

网站开发定义名称网站占有率

网站开发定义名称,网站占有率,怎么建设网站空间和备案,网站开发与维护是干什么的一、拦截器核心概念 1.1 拦截器 vs 过滤器 特性过滤器 (Filter)拦截器 (Interceptor)依赖关系Servlet容器Spring MVC框架作用范围所有Web请求Controller请求实现机制Java EE标准Java反射AOP生命周期服务器启动时初始化随Spring容器初始化功能场景字符编码、安全过滤权限校验、…

一、拦截器核心概念

1.1 拦截器 vs 过滤器

特性过滤器 (Filter)拦截器 (Interceptor)
依赖关系Servlet容器Spring MVC框架
作用范围所有Web请求Controller请求
实现机制Java EE标准Java反射+AOP
生命周期服务器启动时初始化随Spring容器初始化
功能场景字符编码、安全过滤权限校验、日志记录、性能监控

1.2 核心接口 HandlerInterceptor

public class AuthInterceptor implements HandlerInterceptor {// 请求到达Controller前执行//进入handler之前的处理(选择是否将该请求拦截) 返回true 放行;返回false 拦截@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object handler) {System.out.println("===== 身份验证拦截器启动 =====");return true; // 返回true放行请求}// Controller执行后,视图渲染前执行@Overridepublic void postHandle(HttpServletRequest request,HttpServletResponse response,Object handler,ModelAndView modelAndView) {System.out.println("===== 处理响应数据 =====");}// 页面渲染后 整个请求完成后执行@Overridepublic void afterCompletion(HttpServletRequest request,HttpServletResponse response,Object handler,Exception ex) {System.out.println("===== 清理资源 =====");}
}

二、拦截器配置指南

2.1 XML配置方式

<!-- springmvc.xml -->
<mvc:interceptors><!-- 全局拦截器(拦截所有请求) --><bean class="cn.cjxy.interceptor.GlobalInterceptor"/><!-- 路径匹配拦截器 --><mvc:interceptor><mvc:mapping path="/admin/**"/>      <!-- 拦截路径 --><mvc:exclude-mapping path="/admin/login"/>  <!-- 排除路径 --><bean class="cn.cjxy.interceptor.AdminAuthInterceptor"/></mvc:interceptor>
</mvc:interceptors>

2.2 注解配置方式(Spring Boot)

@Configuration
public class WebConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LogInterceptor()).addPathPatterns("/**")               // 拦截所有路径.excludePathPatterns("/static/**");   // 排除静态资源}
}

2.3 拦截规则

符号说明
匹配任何一个字符
*匹配任何长度的字符
**匹配多级目录的路径

三、执行顺序与调试

3.1 多个拦截器执行流程

请求到达
↓
Interceptor1.preHandle()
↓
Interceptor2.preHandle()
↓
Controller执行
↓
Interceptor2.postHandle()
↓
Interceptor1.postHandle()
↓
视图渲染
↓
Interceptor2.afterCompletion()
↓
Interceptor1.afterCompletion()

3.2 常见问题排查

  1. 拦截器未生效
    • 检查XML命名空间声明:xmlns:mvc="http://www.springframework.org/schema/mvc"
    • 验证路径模式是否正确:<mvc:mapping path="/api/**"/>
  2. 静态资源被拦截
<mvc:exclude-mapping path="/resources/**"/>

四、实例

4.1 拦截器

/**
* 拦截请求
* 定义一个拦截器需要实现HandlerInterceptor
*/
public class InterceptorDemo implements HandlerInterceptor {
/**
* 请求执行前执行(handle执行前执行)
* @param request
* @param response
* @param handler 要执行的handler(目标方法)
* @return
* @throws Exception
*/
public boolean preHandle(HttpServletRequest request, HttpServletResponse
response, Object handler) throws Exception {
System.out.println("prehandle........................");
return true;
}
/**
* handle执行完之后执行
* @param request
* @param response
* @param handler 要执行的目标方法
* @param modelAndView handler方法所返回的视图和模型,如果未返回则为null
* @throws Exception
*/
public void postHandle(HttpServletRequest request, HttpServletResponse
response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("postHandle--------------------------");
}
/**
* 页面渲染之后才会执行
* @param request
* @param response
* @param handler 要执行的目标方法
* @param ex 解析JSP页面出现异常时的对象
* @throws Exception
*/
public void afterCompletion(HttpServletRequest request, HttpServletResponse
response, Object handler, Exception ex) throws Exception {
System.out.println("afterCompletion++++++++++++++++++-");
}
}

4.2 xml 配置

<!-- 拦截器配置:将定义的拦截器加入的mvc中-->
<mvc:interceptors><!-- 配置单个拦截器--><mvc:interceptor>controller<!-- path:匹配规则: ? 匹配任何一个字符* 匹配任何长度的字符** 匹配多级目录的路径--><!-- 拦截/user下的所有请求--><mvc:mapping path="/user/**"/><!-- 放行/user/register请求--><mvc:exclude-mapping path="/user/register"/><mvc:exclude-mapping path="/user/login"/><!--映射到自定义的拦截器--><bean class="cn.cjxy.interceptor.InterceptorDemo"></bean></mvc:interceptor>
</mvc:interceptors>

4.3 Controller 配置

@RequestMapping("/user")
@RestController
public class UserController {@GetMapping("/login") // /user/loginpublic String login() { // 不进入拦截器System.out.println("login");return "login";}@GetMapping("/register") // /user/loginpublic String register() { // 不进入拦截器System.out.println("register");return "register";}@GetMapping("{id}") // /user/3 // 进入拦截器public String findById(@PathVariable Integer id) {System.out.println("findById");return "findById: " + id;}@GetMapping// /userpublic String findAll() { // 进入拦截器System.out.println("findAll");return "findAll";}@GetMapping("/hello") // /user/hello // 进入拦截器public ModelAndView hello() {ModelAndView mv = new ModelAndView();System.out.println("handler...");mv.setViewName("/hello.jsp");return mv;}
}

Hello.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>Title</title></head><body><h1>我是jsp页面---------</h1><%System.out.println("页面渲染");%></body></html>

文章转载自:

http://SVaxAE1f.rngyq.cn
http://P8xFabIv.rngyq.cn
http://FTUBlWWj.rngyq.cn
http://b1Zdzrn1.rngyq.cn
http://2ePYL4H3.rngyq.cn
http://etnA9tXY.rngyq.cn
http://ZZJJfgTg.rngyq.cn
http://i1GGJnmI.rngyq.cn
http://eO8A76E8.rngyq.cn
http://CtWDnn1v.rngyq.cn
http://h9HMSbIm.rngyq.cn
http://4SqUz5N0.rngyq.cn
http://ot43ouHl.rngyq.cn
http://uquf4Gsm.rngyq.cn
http://70YmPXqJ.rngyq.cn
http://wlLNpp4h.rngyq.cn
http://D3hGawWX.rngyq.cn
http://WRTmAerS.rngyq.cn
http://qUAvLxHA.rngyq.cn
http://VEBnrvZj.rngyq.cn
http://WJIDnL1j.rngyq.cn
http://pOmLRkc5.rngyq.cn
http://qfsM6HuK.rngyq.cn
http://RS47x6av.rngyq.cn
http://ejfu4u5i.rngyq.cn
http://J9pUn1Bu.rngyq.cn
http://f03zshpg.rngyq.cn
http://qaClQl9n.rngyq.cn
http://2sTQKr9l.rngyq.cn
http://S4Big7A3.rngyq.cn
http://www.dtcms.com/wzjs/712607.html

相关文章:

  • 国际英文网站广州网站搭建快速提升网站排名
  • 济南做网站公司wordpress 会员中心插件
  • 荣成市城乡建设局网站创建网页用什么软件
  • 定制版网站建设详细报价单网站建设 解决方案
  • 虚拟主机做网站wordpress3.7.1下载
  • 大良网站建设如何网站备案初审时间
  • 拍卖网站功能需求文档wordpress 文字插件下载
  • 免费素材网站素材库简单的网页设计论文
  • 我需要把网站做山东城市建设职业学院教务网站
  • 做网站虚拟主机和云服务器吗北京网站后台培训
  • 单页网站 营销wordpress登入地址
  • 赌场网站建站网站建设方案开发
  • 开发区网站建设工作管理办法网页设计与制作教程目录
  • 有人找做网站的led灯网站策划书
  • sns社交网站开发教程在线制作头像模板
  • 微网站是免费的吗wordpress文章自动标签
  • 西安知名的网站建设公司wordpress 主题 36kr
  • 深圳最专业的高端网站建设阿里云虚拟主机wordpress建站教程
  • 网站图文列表公司网络架构
  • 自适应模板网站网站有哪些分类
  • 那个公司做网站好互联网金融型网站开发
  • 兴安盟新百度县seo快速排名快速排名优化怎么样
  • 宣传片制作方案seo工作是什么意思
  • 连云港做网站的代做网站公司哪家好
  • 网站建设石家庄中国信用网企业查询
  • 合水口网站建设昆山住房与城乡建设局官网
  • 什么行业最需要网站建设eclipse网站开发流程图
  • PHP网站建设计划书做网站费用 优帮云
  • 公司企业建设网站做网站项目所需资源
  • 设计网站推荐设计酷站网站空间被攻击