<div><!-- 登陆页面--><form action="demo/login" method="post">账户:<input type="text" name="username"/><br/>密码:<input type="password" name="pwd"/><br/><input type="submit" value="登录"/></form></div>
 <form action="demo/login" method="post">账户:<input type="text" name="username"/><br/>密码:<input type="password" name="pwd"/><br/><input type="submit" value="登录"/></form></div>
对于控制器内的方法间的调用,有转发和重定向两种。
@RequestMapping("/login")public String login(Userinfo u,HttpSession s){System.out.println("login:"+u.getUsername()+","+u.getPwd());s.setAttribute("u",u);//放到session里面;return "redirect:list";//相当于从客户端再次发送请求//return "forward:list";//转发,是服务器页面转了一下}@RequestMapping("/list")public String list(Userinfo u,HttpSession s){System.out.println(s.getAttribute("u"));return "list";//返回页面}

转发对于数据Userinfo来说,可以在list页面显示出来,从登陆页面到list页面,而如果是重定向,则不能有数据的传递。

<body>
    我是重定向、或转发过来的页面.${u.username },${u.pwd }
  </body>

请求重定向与请求转发的比较,HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法都可以让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有很大的区别。

1.RequestDispatcher.forward方法只能将请求转发给同一个Web应用中的组件,HttpServletResponse.sendRedirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序的资源,甚至是使用绝对URL重定向到其他站点的资源。对于sendRedirect如果传递的URL以”/”开头,他是相对于整个Web站点的根目录;对于forward如果传递的URL以”/”开头,它是相对于当前Web应用程序的根目录。

2.sendRedirect对浏览器做出的响应是重新发出对另外一个URL的访问请求,forward在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果

3.forward的调用者与被调用者之间共享相同的request对象和response对象,他们属于同一个访问请求和响应过程;sendRedirect的调用者与被调用者使用各自的request和response对象,属于两个独立的访问请求和响应过程

请求重定向以redirect:开头,请求转发以forward:开头;

spring转发和重定向相关推荐

  1. 2017.3.31 spring mvc教程(六)转发、重定向、ajax请求

    学习的博客:http://elf8848.iteye.com/blog/875830/ 我项目中所用的版本:4.2.0.博客的时间比较早,11年的,学习的是Spring3 MVC.不知道版本上有没有变 ...

  2. Spring MVC的转发和重定向

    1.可以采取servlet+JSP的方式进行转发和重定向 2.MVC提供了返回String类型的方式进行转发(可以配合配置文件为返回的String添加前缀和后缀)MVC默认转发 重定向:需要在返回值前 ...

  3. SpringMVC框架 学习DAY_02 : 接收请求参数/向模板页面转发数据/重定向与转发 /Session

    1. 接收客户端提交的请求参数 1.1. 使用HttpServletRequest接收请求参数 在处理请求的方法的参数列表中,添加HttpServletRequest类型的参数,在处理请求的过程中,调 ...

  4. springMVC3.0(文件上传,@RequestMapping加参数,@SessionAttributes,@ModelAttribute,转发,重定向,数值获取,传参,ajax,拦截器)

    1.项目包结构如下: 2.       spring配置文件springMVC.xml修改如下: <?xml version="1.0" encoding="UTF ...

  5. 【drp 12】再识转发和重定向:SpringMVC无法跳转页面

    最近再使用SpringMVC进行页面跳转的时候,不知道发生了什么,始终都无法正确跳转.后来问题解决了,发现是对于转发和重定向没有能很好的理解,以此写篇博客,权当做积累了! 声明:本博客的所有代码,均为 ...

  6. 【JavaWeb】一文Servlet全解:继承关系、生命周期、容器和请求转发与重定向等

    文章目录 一.Servlet 概述 二.Servlet HelloWorld 三.Servlet 继承关系 四.Servlet 生命周期 五.ServletConfig 和 ServletContex ...

  7. SpringMVC之——转发与重定向

    与视图解析器的关系 有视图解析器时转发和重定向都可以成功, 无视图解析器时转发需要补全路径才能成功,重定向不能访问WEB-INF下的页面(如图中的test.jsp) 视图解析器配置在web.xml中绑 ...

  8. springmvc重定向到另一个项目_spring mvc的转发与重定向

    转发与重定向 spring mvc底层其实就是一个servlet,因此在spring mvc中也存在转发和重定向的概念.对于转发的页面,可以是在WEB-INF目录下的页面:而重定向的页面,是不能在WE ...

  9. JavaWeb,使用servlet/jsp时页面跳转的两种方式:转发和重定向

    一.两种跳转获得对象的方式 1️⃣获得转发对象getRequestDispatcher() httpServletRequest.getRequestDispatcherServletContext. ...

最新文章

  1. 向vSphere迁移虚拟机,Converter需要升级至4.0.1
  2. Android性能优化典范笔记(1)-GPU绘制性能优化
  3. 清华大学计算机李雪,李雪 | 北京外国语大学国际商学院|International Business School,BFSU|本硕博,北外留学,来华留学Solbridge,EDP...
  4. Python Web部署方式总结
  5. 对mysql日志进行操作的总结包括 启用,过期自动删除 等
  6. 挂起某线程命令 Linux,linux 线程挂起恢复的简单示例
  7. vim 离线安装_VIM学习笔记 插件列表(Plugin)
  8. 织梦服务器系统win10,WIN服务器爆破DEDECMS后台目录
  9. 支持js代码的博客有哪些?
  10. Hessian HTTP POST访问时,Nginx返回411问题
  11. 2014蓝桥杯C++A:猜年龄;扑克序列(全排列)
  12. 剑指Offer(第二版)面试案例:树中两个节点的最低公共祖先节点
  13. 嵌入式测试 模拟共享单车
  14. 字体 流光css,实例详解CSS3制作文字流光渐变特效
  15. 【荣耀】2021年招聘开启,新荣耀,新征程 (base Xian or Beijing) - 内推
  16. Franka Emika Panda机械臂规划路径时,rviz中手爪显示碰撞
  17. linux下载百度命令行,Linux 命令行使用百度网盘上传下载文件
  18. Google英文SEO优化更注重实效性
  19. 小绮的踩坑日记|小土堆pytorch视频20220330-神经网络
  20. [原创]矩阵键盘原理分析手稿

热门文章

  1. Mysql常用30种SQL查询语句优化方法
  2. 30分钟学会如何使用Shiro
  3. ES6的变量声明详述
  4. 【详细解析】1080 MOOC期终成绩 (25分)_45行代码AC
  5. python在函数内部访问外部全局变量的方法_在函数外部访问函数变量,而无需使用“全局”...
  6. spring 扫描所有_从Spring的几个阶段理解其工作过程
  7. mysql mybatis配置_mybatis详解 与配置mybatis+spring+mysql.doc
  8. Error from server (Forbidden): Forbidden (user=system:anonymous, verb=get, resource=nodes, subresour
  9. scrapy框架_入门Scrapy框架看这一篇文章就够了
  10. 在Socket做服务器,在手机上用Http访问