登陆后跳转到之前页面
程序员文章站
2022-05-13 23:50:41
...
一、非集群
在非集群的情况下,我们一般用session来管理用户的,一般的框架都会有拦截器或安全处理,在此我只写个大致方法和思路,具体的类就不写了,
public byte[] doLogin(HttpServletRequest req) {
StringBuilder builder = new StringBuilder();
Enumeration result = req.getAttributeNames();
//获取该请求的参数为还原做准备
while (result.hasMoreElements()) {
String attri = (String) result.nextElement();
builder.append(attri).append("=").append(
req.getAttribute(attri).toString()).append(",");//此处用","隔开每个参数,用&时在页面会出错
}
String returnUrl = req.getRequestURL() + "?" + builder.toString();
req.setAttribute("returnUrl", returnUrl);
}
login页面
<form id="logForm" method="post" action="login">
//此处记录将要登陆后的将要返回的页面url
<input type="hidden" name="returnUrl" value="${ param.returnUrl }"/>
<div>用户名:<input type="text" maxlength="25" name="userName" id="userName" /></div>
<div>密 码:<input type="password" maxlength="50" name="password" id="password" /></div>
<div id="buttonBar">
<input value="确定" type="submit" />
<div class="clear"></div>
</div>
</form>
<div id="info"> </div>
</div>
<script language="javascript">
<!--
(function(){
$("#logForm").form({
userName:{
cls:"largerInput",
validate:function(){
return $(this).val().length>2;
},
validateText:"请输入3-8个字符"
},
password:{
cls:"largerInput",
validate:function(){
return $(this).val().length>4;
},
validateText:"请输入5-10个字符"
}
});
})();
-->
</script>
登陆后跳转
//之前的登录判断没写,执行到这步时已经登录上了
public void Login(HttpServletRequest req,HttpServletResponse resp){
String returnUrl = (String) req.getAttribute("returnUrl");
if(null != returnUrl || !returnUrl.equals("")){
returnUrl = returnUrl.replace(",", "&");
resp.sendRedirect(returnUrl);
}else{
resp.sendRedirect(req.getContextPath() + "/home");
}
}
推荐阅读
-
Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法
-
如何跳转指定页面后再次跳转到另一页面或原来的页面
-
vue实现登录后页面跳转到之前页面
-
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
-
解决session过期跳转到登陆页面并跳出iframe框架
-
解决session过期跳转到登陆页面并跳出iframe框架
-
Thinkphp 文章修改后跳回之前页面
-
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
-
关于用户没有权限路由守卫跳转登录后页面跳转,返回之前浏览页面处理方法
-
利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据