- 浏览: 1051934 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (605)
- 数据挖掘 (22)
- spring (40)
- 工具使用 (39)
- java (137)
- JavaScript (40)
- webwork (12)
- web (120)
- 资源 (7)
- SSH (5)
- oracle (20)
- J2ME (1)
- 环境配置 (37)
- 项目管理 (29)
- mysql (14)
- struts (4)
- 项目总结 (27)
- ibatis学习 (33)
- 学习计划 (2)
- 缓存 (7)
- 重构 (3)
- Android (1)
- jquery (12)
- UML (3)
- 用户体验 (4)
- 习惯 (7)
- sakai (1)
- urlrewrite (4)
- rss (5)
- C plus plus (5)
- 算法 (5)
- 海量数据处理 (7)
- office(word、excel) (1)
- 面试题 (3)
- solr (8)
- 大数据 (2)
最新评论
-
hujin19861102:
截图看不见,最后一个webwrok的配置看不见
Ext+Webwork+Json 实现分页表格查询效果 -
蜗牛笔:
弱弱的问一句,要是分出来的词在词典中没有,那么两部分的pos- ...
ICTCLAS 中科院分词系统 -
weipeng1986:
授人予鱼不如授人予鱼,我想问你的是你是怎么总结的。比如第四种情 ...
JAVA中字符串连接效率的测试 -
xiaoqiang2008:
执行两次的原因是什么,好像楼主没弄清楚啊!是不是在web.xm ...
关于Spring中用quartz定时器在定时到达时同时执行两次的问题 -
Kent_Mu:
...
ibatis-dynamic的用法
网站开发中经常会遇到这样的问题,登录后自动转到了首页或者用户管理首页,这样有时候会让用户觉得很不方便,特别是电子商务类的网站,当用于在浏览产品页面时,需要购买,但是只有登录后的用户才能进入购买页面,所以如果当用户登录后进入的不是他登录前的产品浏览页面,他得去重新找,这是非常不友好的。
可以通过request.getHeader("referer");方式来实现登录/注册后返回进入登录或注册页面前的页面
举例:
java 代码
- /**
- * 进入到登录页面
- * @param mapping
- * @param form
- * @param request
- * @param response
- * @return
- */
- public ActionForward loginview(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
- //登录后跳转回进来的页面,如果进来之前的页面是登录和退出,则登录后跳转到首页
- String pagefrom = request.getHeader( "referer" );
- if (pagefrom.indexOf( "method=login" )> 0 || pagefrom.indexOf( "method=logout" )> 0 )
- {
- pagefrom = pagefrom.substring( 0 ,pagefrom.lastIndexOf( "/" )+ 1 );
- }
- request.setAttribute( "pagefrom" , pagefrom);
- saveToken(request);
- User object = null ;
- try {
- object = entityClass.newInstance();
- } catch (InstantiationException e) {
- log.error(e);
- } catch (IllegalAccessException e) {
- log.error(e);
- }
- initForm(form, request, object);
- return mapping.findForward(LOGINVIEW);
- }
在登录页面中设置hidden元素:
登录页面部分代码
- < html:form action = "/userm.do" focus = "loginname" styleClass = "u_login_form" onsubmit = "return validateUserForm(this)" >
- < input type = "hidden" name = "method" value = "login" />
- < input type = "hidden" name = "pagefrom" value = "${ pagefrom }" />
- < input type = "hidden" name = "name" value = "name" />
- < input type = "hidden" name = "mail" value = "yahaitt@163.com" />
- < div class = "l" > < img src = "${css}/images/login_icon_01.gif" /> div >
- < div class = "l" >
- < html:text property = "loginname" styleClass = "text" /> < br />
- < html:password property = "password" styleClass = "text" /> < br />
- < %@ include file = "/commons/messages.jsp" % >
- div >
- < div class = "l" > < html:img src = "${css}/images/login_icon_02.gif" onclick = "if(validateUserForm(document.userForm)) document.userForm.submit();" /> div >
- < div class = "c" > div >
- html:form >
- < html:javascript formName = "userForm" staticJavascript = "false" dynamicJavascript = "true" cdata = "false" />
- < script type = "text/javascript" src = "${ctx}/scripts/validator.jsp" > script >
根据登录页面中的pagefrom元素的值,在登录成功后跳转到该值对应的页面
登录代码:
java 代码
- /**
- * 登录
- * @param mapping
- * @param form
- * @param request
- * @param response
- * @return
- */
- public ActionForward login(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
- String pagefrom = request.getParameter( "pagefrom" );
- request.setAttribute( "pagefrom" , pagefrom);
- if (isCancelled(request))
- return list(mapping, form, request, response);
- if (!isTokenValid(request)){
- saveDirectlyError(request, "重复提交" );
- return mapping.findForward(LOGINVIEW);
- }
- // resetToken(request);
- // run validation rules on this form
- ActionMessages errors = form.validate(mapping, request);
- if (!errors.isEmpty()) {
- saveErrors(request, errors);
- refrenceData(request);
- return mapping.findForward(LOGINVIEW);
- }
- User object = doNewEntity(form, request);
- initEntity(form, request, object);
- User user = userManagerCommon.checkPassword(object.getLoginname(), object.getPassword());
- if ( null ==user)
- {
- errors.add( "password" , new ActionMessage( "user.missing" ,object.getPassword()));
- saveErrors(request, errors);
- return mapping.findForward(LOGINVIEW);
- }
- SessionUser.saveSession(request,user);
- try {
- response.sendRedirect(pagefrom);
- return null ;
- } catch (IOException e) {
- e.printStackTrace();
- }
- return mapping.findForward(INDEX);
- }
第48行的代码就实现了跳转。
发表评论
-
firefox 兼容两个小细节
2012-12-29 10:38 13351. 火狐下radio无法选中问题 描述: 当JS ... -
专业的网页测试工具 YSLOW
2012-11-07 19:41 954http://guangqiang.iteye.com/blo ... -
freemarker 静态化网页
2012-11-07 19:39 1218freemarker的作用: MVC框架 ... -
基本CSS选择器,复合选择器,后代选择器
2012-11-02 13:23 1050http://gaterking.blog.51cto. ... -
webwork <ww:url> 转 jstl <c:url>标签
2012-11-02 11:06 2193项目之前分页组件一直使用的是 项目组定义的 公用分页,其中引用 ... -
CSS 图片拼合生成器
2012-11-02 10:53 1839CSS 图片拼合生成器在线 工具(已测试使用,基本满足网站对s ... -
可编辑的div 插入文本与图片(要求光标定位插入)
2012-09-11 17:39 1970http://jianzhong5137.blog.163.c ... -
jsp include 包含的区别
2012-05-14 16:39 1067c.jsp <!DOCTYPE html ... -
mysql + tomcat 连接池配置问题
2012-04-18 21:23 1012javax.naming.NameNotFoundExcept ... -
tomcat启动异常
2012-03-28 16:23 1446ERROR 2012-03-28 16:00:41,34 ... -
Java路径问题最终解决方案
2012-03-08 18:21 1046http://blog.csdn.net/shendl/art ... -
怎么避免浏览器缓存静态文件(js/css/img)
2012-03-08 18:16 0怎么通过程序删除清空客户端的浏览器缓存 对于动态文件, ... -
使用HTMLparser解析HTML
2012-03-06 09:27 1417http://express.ruanko.com/ru ... -
IE 6下 a javascript:void(0)问题
2011-12-16 19:04 1369原文地址:http://blog.csdn.net/lee ... -
jquery treeview
2011-12-13 14:59 2538<link rel="stylesheet&q ... -
显示数据加载中
2011-12-13 14:32 1122在加载比较慢的页面(如含有很多节点的树)中,引入公用文件,公用 ... -
jquery ui dialog 遮拦 select的解决方法
2011-09-30 09:23 3284<script type="text/java ... -
CSS Sprites合并多个小图片
2011-09-29 11:31 1183这种方法看似繁琐,但却是非常有实用价值的。 首先,CS ... -
form表单只提交值,而不进行页面跳转(转)
2011-09-29 11:19 21520源自: http://trinea.iteye.com ... -
Spring 配置中的 default-lazy-init="false"
2011-09-26 18:03 1857Spring 配置中的 default-lazy-init=& ...
相关推荐
代码为ASP.NET C#,采用asp.net和jquery异步方式实现。 用户登录采用模态弹出窗口,异步方式验证登录信息,不刷新页面。 用户注册,能检查用户名和密码是否为空,当用户输入用户名时可采用异步方式从数据库提取...
### Spring MVC 控制网站登录用户失效后跳转登录页面 #### 概述 在Web应用开发中,确保用户的会话安全至关重要。对于基于Spring MVC框架的应用程序而言,一个常见的需求是当用户会话失效(例如:用户长时间未操作...
项目需求 访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面。解决思路1: 在跳转到登录页面之前要将当前访问页面的url保存到...
在SpringBoot中,我们可以自定义Filter实现预处理和后处理功能,例如检查用户是否已登录,未登录时重定向到登录页面。 4. **拦截器(Interceptor)**: Spring MVC提供了拦截器(Interceptor)机制,它同样可以...
使用flutter 实现基础的登录页手机号码获取验证码,60s倒计时,通过路由页面切换,页面结构 1.标题 2.手机号输入框 3.验证码输入框 4.获取验证码 5.60s倒计时 6.登录按钮 7.跳转到主页
然而,对于拥有页面访问权限控制的需求而言,如需要实现未登录用户访问特定页面时自动跳转至登录页面,就需要在Vue项目中集成一定的路由守卫逻辑。本篇文档将详细介绍在Vue项目中,如何利用vue-router实现未登录用户...
- 为了从WebView中获取登录后的参数(如授权码code),我们需要监听页面加载完成事件并在JavaScript中注入一个函数,该函数负责将参数通过调用Android原生方法传递出来。 - 在Java代码中,创建一个接口供...
在本文中,将详细探讨Laravel在用户登录、注册操作后,如何使用Auth认证中间件以及redirect()方法实现页面的回跳功能。 首先,Laravel的Auth认证中间件位于app/Http/Middleware/Authenticate.php文件中,这个中间件...
**WPF登录和跳转程序**是基于Windows Presentation Foundation(WPF)框架开发的一个应用程序,主要功能是实现用户登录验证并根据验证结果跳转至不同的界面。WPF是微软推出的一种用于构建桌面应用的UI框架,它提供了...
6. 当用户选择“记住我”并登录后,下次打开应用时,可以在onCreate()方法中读取SharedPreferences中的用户名和密码,如果存在,可直接跳过登录界面,直接进入主界面。 以上就是关于Android Studio中实现登录界面...
在Python中实现Web端的用户登录和注册功能是构建任何Web应用的基础。这里我们将深入探讨如何使用Python进行这些操作,特别关注代码片段中涉及的关键点。 首先,注册功能。在提供的代码中,可以看到使用了API来处理...
### JSP页面实现自动跳转 在JSP页面中实现自动跳转同样可以采用上述几种方式。以下是一个更完整的示例,展示了如何结合JavaScript和服务器端逻辑实现页面的自动跳转: ```jsp ;url=<%=url%>"> window.moveTo(0...
在实际操作中,开发者可能需要根据用户的类型(如管理员、普通用户、未注册用户)或特定的访问条件(如IP地址、设备类型)来定制登录页面。这通常涉及到在配置文件中定义拦截规则,编写中间件或过滤器代码,以及设计...
【标题】"Tomcat+Servlet+mysql简单的登录注册和转跳到主页"是一个基础的Web应用项目,它结合了三个核心组件:Tomcat服务器、Servlet技术以及MySQL数据库,用于实现用户的基本登录和注册功能,并在验证成功后转跳至...
这种方式更加灵活,可以直接控制HTTP响应,确保用户在Session过期后能够被正确地引导回登录页面,重新验证其身份。在实际应用中,还需要考虑其他因素,如Ajax请求的处理、防止无限重定向问题以及提供友好的提示信息...
但是这二维码还有一个需求就是,用户已经下载了这个app,当用户打开app进入到注册页面时,再次扫描这个二维码时,自动填写邀请码进行注册。那么该如何实现,细节就不说了,直接上代码。 使用js实现,其实代码非常...
// 用户已登录,可跳过登录页面或直接进入主界面 } else { // 用户未登录,展示登录界面 } ``` 在"StudyDemo9"这个项目中,你可能可以找到具体的代码实现和更多细节,例如如何处理登录按钮的点击事件,以及如何在...
Android 实现外部唤起应用跳转指定页面的方法是指通过 scheme 的方式来实现跳转,首先需要在 App 中注册一个全局的事件监听,然后在 Manifest 文件中配置具体的 `<intent-filter>`,使得外部可以唤醒 App。...
在Android Studio中,通常会使用XML布局文件来设计登录和注册页面。登录界面一般包含用户名输入框(EditText)、密码输入框(EditText,通常设置为私密类型,显示为星号或圆点)、登录按钮(Button)以及可能的记住...