登录成功后跳转回登录前的页面,实现思路
首先,我的网站都是动态跳转的。
整体思路:
1、拦截:在拦截到用于session过期,或用户未登录的情况下,将登录前requestUrl,post请求的参数组成paramMap存放到session中
1 2 3 4 5 6 7 8 9 10 11 12 | String requestURL = request.getRequestURL().toString(); Map<Integer, String> paramMap = new HashMap<Integer, String>(); Enumeration e = req.getParameterNames(); int i = 1 ; while (e.hasMoreElements()) { String param = e.nextElement().toString(); String value = req.getParameter(param); log.info( "##账户:" + loginname + "##(" + i + ")(地址: " + requestURL + ")(属性: " + param + ")(参数: " + value + ")##" ); paramMap.put(param, value);<br> req.getSession.setAttribute( "paramMap" , paramMap); i++; } |
2、登录:若发现用户可以成功登录,取出requestUrl和paramMap,然后将paramMap放到request的paramter中,并使用Action转发到requestUrl
1 2 3 4 5 | Map<String, String> paramMap = (Map<String, String>) ServletActionContext.getRequest().getSession().getAttribute( "paramMap" ); Set<String> params= paramMap.keySet(); for (String param : params){ ServletActionContext.getRequest().setAttribute(param, paramMap.get(param)); } |
3、跳转到登录前页面
分类:
Java Web
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人