web利用redirect登录后返回之前的页面

简介: web利用redirect登录后返回之前的页面

应用场景:用户进入到一个提交页面,而提交是需要登陆的,这时候用户登录后就可以直接返回到提交的页面,提高用户体验。

1.准备一个存在url的标签,和登陆的表单一起提交就行了

          <!--存放页面的url-->
          <input type="hidden" id="url" name="url" value=""> 


2.利用script获取当前url,比如说当前的网址是http://218.5.241.13:8060/Study/course?id=1,经过处理后就只剩下最后的一部分了course?id=1

<script>
  $(function() {
    var url = window.location.href;/* 获取完整URL */
    var index = url.lastIndexOf("\/");
    url = url.substring(index + 1, url.length);
    $("#url").val(url);
  });
</script>

3.java后台重定向,获取到之前的action例如course?id=1,然后就会定位到@RequestMapping("/course"),返回之前的页面,并且把id也传下去。

// 用户登录处理
  @RequestMapping("/userlogin")
  public ModelAndView checklogin(HttpSession session,
      HttpServletRequest request, User user) throws Exception {
    ModelAndView modelAndView = new ModelAndView();
    // 查找所有用户
    List<User> list = userService.checkLogin();
    boolean flag = false;
    //不是管理员就验证学生用户
         for (int i = 0; i < list.size(); i++) {
      if (user.getUserid().equals(list.get(i).getUserid())
        && user.getPassword().equals(list.get(i).getPassword())) {
          flag = true;
          break;
      }
    }
    // 获取登陆之前的页面
    String url = request.getParameter("url");
    if (flag) {// 验证用户成功
      session.setMaxInactiveInterval(60 * 60);// 保存用户名一个小时
      session.setAttribute("userid", user.getUserid());
      // 定位到之前的页面
      if (url.equals("userlogin") || url.equals("logout")) {// 如果之前是userlogin或者logout的action页面要做特殊处理
        modelAndView.setViewName("index");
        return modelAndView;
      } else {
        return new ModelAndView("redirect:/" + url);
      }
    }
  }

4.如果你是提交一个表单,然后重定向的话需要再通过redirect进行传参,这个例子只使用url的传参。

相关文章
|
4天前
|
消息中间件 监控
RabbitMQ的Web管理页面
RabbitMQ的Web管理页面
26 0
|
4天前
|
自然语言处理 Java 数据库连接
掌握JSP页面编程:动态生成Web内容
【4月更文挑战第3天】Java Server Pages (JSP) 是一种用于创建动态Web内容的Java技术,它结合HTML并允许在页面中嵌入Java代码。JSP支持代码片段、表达式语言(EL)和JSTL标签库,简化动态内容生成。当服务器接收到请求时,执行JSP中的Java代码并将结果嵌入HTML返回给客户端。示例展示了如何显示当前日期和时间。JSP可与Servlet、JavaBeans、数据库等结合,用于构建功能丰富的交互式Web应用。
掌握JSP页面编程:动态生成Web内容
|
4天前
|
编解码 前端开发 Java
大华相机接入web页面实现人脸识别
大华相机接入web页面实现人脸识别
21 0
|
4天前
|
机器学习/深度学习 人工智能 前端开发
机器学习PAI常见问题之web ui 项目启动后页面打不开如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
4天前
|
存储 数据库 数据安全/隐私保护
实现一个简单的Web应用,要求可以进行用户注册和登录。
实现一个简单的Web应用,要求可以进行用户注册和登录。
29 3
|
3天前
|
Android开发
Android WindowFeature小探究,Android客户端Web页面通用性能优化实践
Android WindowFeature小探究,Android客户端Web页面通用性能优化实践
|
2天前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
【5月更文挑战第10天】本文介绍了使用Java和Selenium进行Web自动化测试的实践,以安居客网站为例。最后,提到了在浏览器开发者工具中调试和观察页面元素的方法。
12 2
|
3天前
|
Web App开发 JavaScript 测试技术
《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
【5月更文挑战第9天】本文介绍了在Appium中处理App自动化测试中遇到的Toast元素定位的方法。Toast在Web UI测试中也常见,通常作为轻量级反馈短暂显示。文章提供了两种定位Toast元素的技巧.
10 0
|
4天前
|
存储 人工智能 测试技术
python自动化测试实战 —— CSDN的Web页面自动化测试
python自动化测试实战 —— CSDN的Web页面自动化测试
194 0
|
4天前
|
机器学习/深度学习 前端开发 数据可视化
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面