longyouchun
longyouchun
采纳率58.3%
2017-12-29 04:16

javaweb的一个项目,为什么在首页一刷新就跳回用户登录界面了?

5
已采纳

java项目,实现了登陆功能,登陆成功并且保存了session,跳到首页,但是只要首页一刷新就又跳转户登录界面了,这是为什么,有没有在首页刷新还停留在首页页面的方法,求赐教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

25条回答

  • qq_34701469 杨_5426 4年前

    这样的情况我感觉是你拦截器做了路径的权限控制
    // 获取当前会话对象
    HttpSession session = request.getSession();

            // 从会话对象中获取用户登录信息
            User loginUser = (User)session.getAttribute(Const.LOGIN_USER);
    
            if ( loginUser == null ) {
                // 如果没有登陆,那么跳转回到登陆页面
                response.sendRedirect("/login.htm");
                return false;
            } else {
                // 如果已经登陆,让请求继续执行
                return true;
            }
    

    原因可能是你的session存储的时候并没有存储正确,所以在拦截器里拿不到,自然重定向到登录页面

    点赞 6 评论 复制链接分享
  • tianleboy_520 tianleboy_520 4年前

    你这个问题在工程是最常见的问题。因为你在刷新首页时,这个时候你没有登录,也就是说,你这时候session获取的人员信息null,所以会往你登录页面中跳转(是往当session为空时,你写的逻辑中运行)。
    如果在首页,想不登录就可以阅览的话,你可以在拦截器中获取这个首页的地址,如果是这个地址则拦截,不通过,这样也不会跳转到你的登录页面。
    不过 不知道你用的是什么框架,不同的框架,写法也是不一样的,但是逻辑都是这样子的。

    点赞 1 评论 复制链接分享
  • dropWater123 zhang_m_m 4年前

    是不是拦截器的问题,或者url 写错了

    点赞 1 评论 复制链接分享
  • java_hzp silentkunden 4年前

    既然用户已经进了session,看一下刷新的时候地址蓝有没有变化,在确定情况

    点赞 1 评论 复制链接分享
  • weixin_38529631 源计划6 4年前

    session没了,你程序设定的可能是没有session回到登陆页 你看看

    点赞 评论 复制链接分享
  • qq_23958615 诸葛是天才 4年前

    代码里拦截器拦截之后如何处理?直接跳转登陆界面吗?可能是session被清除了,你仔细找找代码里拦截器处理的url链接。

    点赞 评论 复制链接分享
  • api_one_by_one api_one_by_one 4年前

    登陆后,把user对象保存到session中,退出时把user对象移出session

    点赞 评论 复制链接分享
  • dcxy0 Q544471255 4年前

    贴一下你首页的代码,或者检查下你首页的代码,看看是不是session没获取到,也可能是拦截器的问题

    点赞 评论 复制链接分享
  • mahao0398 mahao0398 4年前

    我猜,你是不是没有让浏览器保存你的cookie [手动滑稽]

    点赞 评论 复制链接分享
  • qq_19296005 猫先生9527 4年前

    如果可以,请将你的session的存入和跳转的相关代码列出了,方便找出问题所在。目前的描述分析,可能是
    1. 拦截出问题了
    2. 跳传逻辑里面的user部分的识别出问题了
    3. 存入session的量有问题

    点赞 评论 复制链接分享
  • xuanhuocs xuanhuocs 4年前

    session过期了,把session过期的时间设置长一点就好了

    点赞 评论 复制链接分享
  • helloyourkey helloyourkey 4年前

    别用ie,试试谷歌浏览器吧,或许奇迹就会出现

    点赞 评论 复制链接分享
  • qq_40930598 梦幻蓝雨 4年前

    可能session过期了

    点赞 评论 复制链接分享
  • zwy12321 zwy12321 4年前

    1.查看web。xml文件里welcome-file是否配置了
    2.查看刷新后的地址
    3.看session是否正确

    点赞 评论 复制链接分享
  • qq_34614587 思不凡的人生 4年前

    可能发生的原因:拦截器设置问题,session问题

    点赞 评论 复制链接分享
  • qq_40146275 PeterChu_txj 4年前

    可能存在问题的地方:
    1.session的验证
    2.session存储的内容
    3.登录校验
    4.过滤器拦截
    5.其他

    点赞 评论 复制链接分享
  • Amyliaa Amyliaa 4年前

    感觉应该是session设置有问题的

    点赞 评论 复制链接分享
  • qq_38398518 qq_38398518 4年前

    web.xml里面设置索引了吧

    点赞 评论 复制链接分享
  • testcs_dn 微wx笑 4年前

    首页是怎么做登录判断的呢?代码贴出来。
    Session过期时间是多久?

    点赞 评论 复制链接分享
  • qq_34584049 mikey未雨绸缪 4年前

    session有问题吧

    点赞 评论 复制链接分享
  • qq_29906135 yml666 4年前

    看看浏览器是不是禁用了Cookie,如果禁用了Cookie就使用response.encodeURL(url)解决,望采纳

    点赞 评论 复制链接分享
  • qq_34875955 qq_34875955 4年前

    是不是你没有把登录状态写到session里了。是不是浏览器禁用了cookie 了。

    点赞 评论 复制链接分享
  • HHL2002 菜头_菜头 4年前

    用浏览器(F12)看一下刷新时的URL是什么

    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 4年前

    要么是session没有正确存入(比如名称写错了,值存错了),要么是超时设置太短
    http://blog.csdn.net/xiaojin21cen/article/details/53942438

    点赞 评论 复制链接分享
  • yuanliangding 袁良锭 4年前

    是不是你没有把登录状态写到session里了。或者是不是浏览器禁用了cookie 了。

    点赞 评论 复制链接分享