一、非集群
在非集群的情况下,我们一般用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");
}
}
分享到:
相关推荐
总的来说,“登陆成功后返回原页面”是提升用户体验的关键要素,它涉及到URL参数传递、服务器端会话管理、以及安全的登录验证流程。理解并正确实现这一功能对于任何Web开发者来说都是必要的技能。
综上所述,实现"session失效重新登录后,返回之前页面,并保留表单数据"的功能,需要综合运用Session管理、登录逻辑设计、页面跳转技术、数据持久化策略以及安全性措施,确保用户体验的同时保障系统的安全性。
否则,跳转到登录页面,并将当前路由的路径作为参数传递给登录页面,以便登录成功后跳转到该路由。 在登录页面,我们可以使用以下代码来判断是否需要跳转到之前的路由: ``` if (this.$route.query.redirect) { ...
在SpringBoot中,我们可以自定义Filter实现预处理和后处理功能,例如检查用户是否已登录,未登录时重定向到登录页面。 4. **拦截器(Interceptor)**: Spring MVC提供了拦截器(Interceptor)机制,它同样可以...
正确配置 Shiro 的过滤器链定义,确保只有需要认证的URL会被保存,这样才能在用户登录后跳转到他们最初尝试访问的页面。在实际应用中,根据项目的具体需求,可以结合这两种方法,以提供更优质的用户体验。
在Vue.js应用中,实现登录拦截以及登录后继续跳转到之前访问的页面是一项常见的功能需求。这通常涉及到路由管理、状态存储以及用户认证逻辑。下面我们将详细探讨如何实现这一功能。 首先,我们需要在Vue路由配置中...
综上所述,实现“android首次登陆欢迎页面,二次不显示”的功能涉及到多个技术点,包括启动屏幕的设计、SharedPreferences的使用、Activity生命周期的管理、Intent标志的设置、动画的实现以及测试和优化。...
3. **设置登录后跳转页面**:在登录设置中,找到“登录后跳转页面”这一项,并输入或选择你需要的页面地址。 4. **保存设置**:同样地,完成设置后,记得点击“保存”按钮来保存更改。 #### 四、自定义退出后的跳转...
一般的逻辑是,用户访问某个页面,判断未登录,跳转到登陆界面,登陆成功后,返回访问前的页面。 按照laravel的一般情况来做: //头部引入 use URL //登陆成功后执行 return redirect(URL::previous()); 结果发现...
在Java编程领域,FX登陆与跳转涉及到的核心技术是JavaFX,这是一个用于构建桌面和基于浏览器的应用程序的富客户端平台。JavaFX提供了丰富的图形用户界面(GUI)组件和动画效果,使得开发人员能够创建出美观且功能...
登录判断器通常位于这个链的早期,它检查请求上下文中的登录信息,如果发现用户未登录,就拦截请求,重定向到登录页面,同时可能会在URL中附加请求的原始地址,以便用户登录成功后能返回原先请求的页面。如果用户已...
登陆页面是一个比较重要的概念,所谓登录页面,就是访客从搜索引擎上的特定关键词来到我们网站的一个特定页面。登录页面对于电子商务网站来说,是极其重要的,当一个访客在搜索引擎搜索一款产品而来到你网站的时候,...
为了实现登录成功后返回到登录前页面的功能,可以在登录页面记录用户请求的来源页面地址(即上一个页面的URL),并将其存储起来,以便登录成功后进行跳转。具体实现如下: 1. **获取来源页面地址**: 在登录页面...
在Laravel 5.4中,当用户登录后有会话过期,系统需要能够将用户重新定向到他们登录之前的页面。这个功能是通过在用户过期后存储当前URL到session,然后在用户重新登录后读取并跳转至该URL来实现的。下面将详细解释...
4. **导航链接**:包含主要的网站导航链接,如首页、关于、服务等,方便用户跳转到其他区域。 5. **返回按钮**:设置“返回首页”或“上一页”的按钮,让用户可以轻松地回到之前的位置。 6. **帮助信息**:提供...
总结来说,从给出的文件内容来看,实现Ajax登录后跳转到登录前的链接,需要对Spring Security的登录流程、请求缓存机制、前端与后端的数据交互(尤其是JSON数据的处理)以及Jackson库的使用有深入的理解。...
本文主要介绍如何通过vue-router的导航守卫(Navigation Guards)来判断用户是否登录,并在未登录的情况下自动跳转到登录页面。 首先,在定义路由的时候,可以在路由对象中配置一个meta属性,来标记某个路由是否...
10. **登录后的跳转**:根据Struts2配置,当Action的execute()方法返回成功结果时,用户会被重定向到相应的欢迎页面或者主界面。 通过上述知识点的整合,我们可以构建一个功能完善的登录系统,它既利用了Struts2的...