spring mvc 拦截器
拦截器作用:可以用于用户操作的安全检查,如:登录、权限等
package com.tool; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; public class SecurityInterceptor implements HandlerInterceptor { private List<String> excludedUrls; public void setExcludedUrls(List<String> excludedUrls) { this.excludedUrls = excludedUrls; } @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse arg1, Object arg2) throws Exception { String requestUri = request.getRequestURI(); if (excludedUrls == null || excludedUrls.size() == 0) return true; for (String url : excludedUrls) { if (requestUri.endsWith(url)) { return true; } } //这里可以判断用记是否登录、用户权限 HttpSession session = request.getSession(); if (session.getAttribute("user") == null) { throw new Exception("我是来自拦截器的方法"); } else { return true; } } }
mvc配置
<!--定义拦截器,验证登录,验证权限都可以在这里玩耍了--> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="com.tool.SecurityInterceptor"> <!--定义不需要拦截的url集合--> <property name="excludedUrls"> <list> <!-- <value>/HelloWorld/myhello.do</value>--> </list> </property> </bean> </mvc:interceptor> </mvc:interceptors>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人