SpringMVC转发和重定向区别!
在servlet中,转发和重定向是由request和response完成的。两者之间的区别请看我之前的文章。那么在springMVC中是如何完成的呢?
/**转发**/
@RequestMapping("/login.do")
public String login(HttpServletRequest request,HttpServletResponse response){
request.setAttribute("message", "hello");
return "forward:/index.do"; //forward在跳转后可以取到message值
}
index.do为另外一个path,也就是RequestMapping中的值。
@RequestMapping("/index.do")
public String index(HttpServletRequest request,HttpServletResponse response){
return "welcome";
}
/**重定向**/
@RequestMapping("/logout.do")
public String logout(HttpServletRequest request,HttpServletResponse response){
request.setAttribute("message", "hello");
return "redirect:/register.do"; //redirect在跳转后无法取到message值
}
register.do为另外一个path,也就是RequestMapping中的值。
@RequestMapping("/register.do")
public String register(HttpServletRequest request,HttpServletResponse response){
return "register";
}
另外forward跳转后地址栏URL不会改变 而redirect会改变
当我们使用重定向时,在后台传到页面的参数全部丢失,除非放在session中。所以在springMVC有一种解决方式如下:
@RequestMapping(“/update.do”)
public String update( RedirectAttributes redirectAttributes) {
redirectAttributes.addFlashAttribute("message", "操作成功");
return "redirect:/admin/user";
}
在重定向的页面中,可以获取到message的值,这是由于spring将message放入session中了。
欢迎大家访问机器矩阵java学习论坛:http://machine-matrix.com
SpringMVC转发和重定向区别!的更多相关文章
- servlet转发与重定向区别
servlet转发与重定向 HttpServletRequest: 表示浏览器向服务器发送的请求报文,由Tomcat创建然后作为参数传递给我们doget,dopost方法. 功能:getParam ...
- ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段
ServletRequest 基本概念 JavaWeb中的 "Request"对象 实际为 HttpServletRequest 或者 ServletRequest, ...
- SpringMVC 转发、重定向
转发.重定向到其它业务方法 @org.springframework.stereotype.Controller @RequestMapping("/userController" ...
- SpringMVC转发及重定向
基础环境搭建请参考SringMVC入门程序 1:springmvc-servlet.xml <?xml version="1.0" encoding="UTF-8& ...
- 【java手记】------------------------java中转发和重定向区别
转发: request.getRequestDispatcher("success.jsp").forward(request,response); 在服务器组件收到用户请求后.经 ...
- springmvc转发与重定向
摘自http://elf8848.iteye.com/blog/875830 (1)我在后台一个controller跳转到另一个controller,为什么有这种需求呢,是这样的.我有一个列表页面,然 ...
- jsp请求转发与重定向区别小结
1.当使用转发时,JSP容器将使用一个内部方法来调用目标页面,新的页面继续处理同一个请求,而浏览器不会知道这个过程; 2.重定向是第一个页面通知浏览器发送一个新的页面请求. 3.转发不改变URL,重定 ...
- javaWEB总结(14):请求的转发和重定向
通俗理解请求转发与重定向的流程 通俗的来讲:我们可以把请求转发和重定向当成是一种借钱的情景模式. (1)请求的转发:A向B借钱,B自己没有钱,但是向C借到了钱,并且把钱借给了A.A只向B请求了一次. ...
- servlet转发与重定向
HttpServletRequest: 表示浏览器向服务器发送的请求报文,由Tomcat创建然后作为参数传递给我们doget,dopost方法. 功能:getParameter()获取请求参数 get ...
随机推荐
- Android开发之布局--RelativeLayout布局
RelativeLayout 相对布局 true或false属性 Layout_centerHorizontal 当控件位于父控件的横向中间位置 Layout_centerVertical 当 ...
- 版本管理工具SVN学习(一):简单的SVN命令,兼对比Git
新公司用SVN来管理代码,而且公司自己搭建了SVN服务器,所以要学习下SVN的相关命令.服务器搭建等技能知识.上家公司是用Git管理代码,而且代码托管在git@oschina上,自然不用操心Git服务 ...
- Windows下安装虚拟机和Linux
首先必须开启BIOS中的虚拟化 常见计算机BIOS快捷键: 联想E431 F1dell F2微星 DELETE 默认是开启HP pavilion notebook 15-ab527TX F9和F10m ...
- 使用Java语言开发微信公众平台(七)——音乐消息的回复
在上一节课程中,我们学习了图片消息的回复功能.根据微信公众平台的消息类型显示,微信共支持文本.图片.语音.视频.音乐.图文等6种消息类型的回复: 其中,我们已经实现了文本.图文.图片等消息的回复处理, ...
- PHP 类的封装和使用
类:相似的数据和数据操作的封装 class 成员量:普通的量加上一定的修饰就变成了成员量 public,protected,private 成员方法:普通的函数,加上一定的修饰,放入到类中就变成了成 ...
- hive的表的基本操作
环境简介 实验环境使用的是cloudera-quickstart-vm-5.0环境. 内容摘要 创建表 修改表名 修改表中的列名 添加列 删除列 替换列 正文 Alter Table 语句 上面所述的 ...
- html学习笔记 - sublime text 插件安装
command + shift + p 呼出搜索界面 输入 Packge Control:Install Package 进入到插件搜索列表 Emmet -- >快速生成html标签结构 Emm ...
- Good Vegetable 4级算法题 分值: [320/3120] 问题: [8/78]
1523 非回文 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 一个字符串是非回文的,当且仅当,他只由前p个小写字母 ...
- 基于R语言的梯度推进算法介绍
通常来说,我们可以从两个方面来提高一个预测模型的准确性:完善特征工程(feature engineering)或是直接使用Boosting算法.通过大量数据科学竞赛的试炼,我们可以发现人们更钟爱于Bo ...
- 关机和重启Linux命令
常用命令: shoutdown -h 10 十分钟后关机 shoutdown -r 10 十分钟重启 shoutdow -h now 立刻关机 shoutdow -r now 立刻重启 不安全的 ...