`

在jsp中怎么实现登录后,自动跳转到登录前正浏览的页面

阅读更多

在jsp中怎么实现登录后,自动跳转到登录前正浏览的页面

在jsp中怎么实现登录后,自动跳转到登录前正浏览的页面?就像csdn的一样,
不管你从哪能个页面登录,成功登录后会自动跳转回那个页面。
解决方法一:
登录处理后,返回如下内容:   
 2  PrintWriter out  =  response.getWriter();
 3  
 4  out .println( " <!DOCTYPE HTML PUBLIC  "" -//W3C//DTD HTML 4.01 Transitional//EN "" > " );
 7  
 8  out.println( " <HTML> " );
 9
11  
12  out.println( "   <BODY> " );
13  
16  out.println( " <script>history.go(-1);history.go(0);</script> " );
19  
20  out.println( "   </BODY> " );
21  
22  out.println( " </HTML> " );
23  
24  out.flush();
25  
26  out.close();
27  
28  return   null
29  
解决方法二:    

1
 String referer 
=
 req.getHeader(
"
Referer
"
);
2 resp.sendRedirect(referer);
3 return ;
4  
5  
上面两种方法不可取是因为,如果用户登录失败,再次登录的话就会出现登录后返回到登录的错误。

第三种:把你要在跳转时需要保存的信息存放在session变量中,登录后清除这个session。可行。
需要登录操作的页面上面添加:
1  <%
2       if (session.getAttribute( " party " ) ==   null ){
3           if ( null   !=  request.getQueryString())
4              session.setAttribute( " redirectUrl " , request.getRequestURL().append( " ? " ).append(request.getQueryString()).toString());
5           else
6              session.setAttribute( " redirectUrl " , request.getRequestURL().toString());
7          response.sendRedirect(request.getContextPath()  +    " /loginto " );
8      }
9  %>
在登录处理页面:

1  String redirectUrl  =  (String)req.getSession().getAttribute( " redirectUrl " );
2           if (StringUtils.isValid(redirectUrl)){
3              req.getSession().removeAttribute( " redirectUrl " );
4              resp.sendRedirect(redirectUrl);
5          }
第四种方法:写一个servlet会话判断类,如果在线就继续执行,不在线则提示登录。所有的需要在线操作的
servlet都集成此类,这样就不需要上面那么在每个页面写上这些代码了,可以集中控制。这种方式比较完整。

HttpSession session  =  request.getSession();

if  (session.getAttribute( " person " ==   null
{
    
if  ( null   !=  request.getQueryString())
                session.setAttribute(
" redirectUrl " , request.getRequestURL().append( " ? " ).append(request.getQueryString()).toString());
    
else
                session.setAttribute(
" redirectUrl " , request.getRequestURL()
                        .toString());
     response.sendRedirect(request.getContextPath() 
+   " /login.jsp " );
    
return   null ;
 }

return  process(config, request, response);
分享到:
评论
1 楼 依山傍水 2011-09-05  
很想请教请教你,第四种方法能不能给我一个完整的类,谢谢啊

相关推荐

    jsp跳转的五种方式

     由于response是jsp页面中的隐含对象,故在jsp页面中可以用response.sendRedirect()直接实现重定位。  注意:  (1) 使用response.sendRedirect时,前面不能有HTML输出  这并不是绝对的,不能有HTML输出其实是...

    毕业设计-基于JSP的在线博客网ssh+mysql-设计与实现(源码+论文+视频).zip

    在分析了目前国内外博客系统的现状的基础上,并经过反复摸索和学习研究后,借助编程语言JSP和MYSQL 数据库最终实现了博客系统的开发,并在一系列测试后,达成了人性化、所需功能完善、操作清晰的设计目标。...

    JspRun!社区论坛系统 v6.0 bulid 090424 GBK 安装版.rar

    11、优化首页,帖子列表,帖子浏览页面,大大减少页面大小,增加浏览速度,减少服务器访问流量 12、优化thread页面解析特殊代码,避免出现死循环, 13、更多细节方面的优化 新增功能 1、增加了远程附件服务器附件...

    JspRun!社区论坛系统 v6.0 bulid 090423 GBK 源码版.rar

    11、优化首页,帖子列表,帖子浏览页面,大大减少页面大小,增加浏览速度,减少服务器访问流量 12、优化thread页面解析特殊代码,避免出现死循环, 13、更多细节方面的优化 新增功能 1、增加了远程附件服务器附件...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    友情链接及网页访问量统计显示:在博客的个人页面中还提供了推荐给普通网络用户的相关友情链接,此外,对个人页面的访问量也在随时进行统计,并在个人页面中进行直观的显示。 博客主页面的用例图如图3所示: 图3 ...

    基于J2EE框架的个人博客系统项目毕业设计论...

    友情链接及网页访问量统计显示:在博客的个人页面中还提供了推荐给普通网络用户的相关友情链接,此外,对个人页面的访问量也在随时进行统计,并在个人页面中进行直观的显示。 博客主页面的用例图如图3所示: 图3 ...

    IBM WebSphere Portal门户开发笔记01

    35、更改登录后跳转页面 151 36、PORTAL-LOGIC:IF LOGGEDIN用户是否登录与注销 152 37、引入主题头部输出连接部分 152 九、IBM WEBSPHERE PORTAL 主题与皮肤开发 153 一、初级入门:Portal的主题与皮肤开发: 153 二...

    400个DreamWeaver插件

    mxp/使页面中的图片都恢复到原始大小,可以作用到单个页面或者整个站点,甚至是site窗口选中的页面 mxp/平常插入的文本框都是白底黑字,如果要改变,就要用CSS定义,很麻烦。这个插件可以直接插入彩色的文本框 mxp/...

    野蔷薇社区论坛YeQiangWeiClub v1.0 M3 源码版

    优秀的个性化配置设计,每个人都可以设置Email过滤级别、短消息过滤级别、发表文章成功后跳转到的页面、登录成功后跳转到的页面、收件箱,发件箱每页显示短消息的数量等,增加了软件的友好性,充分体现以用户为中心...

Global site tag (gtag.js) - Google Analytics