24SpringMvc中的重定向和转发-解释return "redirect:/cargo/contractproduct/tocreate.action";
我在做JK项目时发现:我们在增加一个货物时。会先根据提交的Action()进入到一个新增页面
//跳转到新增的页面
@RequestMapping("/cargo/contractproduct/tocreate.action")
public String tocreate(String contractId,Model model)
{
List<Factory> listfactory=factoryService.getFactoryList();
Map<String, Object> map=new HashMap<String, Object>();
map.put("contractId",contractId);
List<ContractProduct> datalist=contractProductService.find(map);
model.addAttribute("contractId", contractId);
model.addAttribute("listfactory", listfactory);
model.addAttribute("datalist", datalist);
return "/cargo/contract/jContractProductCreate.jsp";//调到新增页面
}
,填好信息时,根据insert.action来到
//新增保存数据
@RequestMapping("/cargo/contractproduct/insert.action")
public String insert(ContractProduct contractProduct,Model model)
{
contractProductService.insert(contractProduct);
model.addAttribute("contractId", contractProduct.getContractid());
//重新回到新增的页面。为什么这么做呢?因为我们在录入货物的信息时不可能是只录入了一个
//肯定是录入了很多个的。所以要重新跳转到新增的页面。
return "redirect:/cargo/contractproduct/tocreate.action"; }
但是在这个方法中,会有这么return "redirect:/cargo/contractproduct/tocreate.action";这是Springmvc中的重定向。
为什么要重定向呢?为了防止表单的重复提交。有一篇博客里面提到:
当用户提交post请求之后,点击浏览器的后退按钮,然后刷新页面就会造成数据的再一次提交,也就是常说的重复提交,看到有人在说struts的令牌方式,怎奈我比较愚钝,不能理解其中精妙,简单的利用重定向来防止重复提交数据。重定向即服务器端提供一个请求方向后,将请求返回给用户在按指定的请求方向请求一次,在spring mvc的开发中,返回一个重定向试图只需要在试图名称前加上“redirect:”前缀,当然你必须提供重定向后的视图访问路径,这样才不至于重定向后找不到请求路径。
24SpringMvc中的重定向和转发-解释return "redirect:/cargo/contractproduct/tocreate.action";的更多相关文章
- servlet(jsp)中的重定向和转发
servlet(jsp)中的重定向和转发 由一个servlet(jsp)从内部转向还有一个servlet(jsp)有两种方式:转发和重定向. 转发:是由一个web组件(servlet)将未完毕的处理交 ...
- SpringMVC中的重定向和转发的实现
1.请求转发和重定向的区别 请求重定向和请求转发都是web开发中资源跳转的方式. 请求转发是服务器内部的跳转 地址栏比发生变化 只有一个请求相应 可以通过request域对跳转目标的请求 请求重定向是 ...
- web中的重定向与转发
Redirect:重定向(客户端重定向) 是HTTP协议规定的一种机制:当client向server发送一个请求,要求获取一个资源时,在server接收到这个请求后发现请求的这个资源实际存放在另一个位 ...
- Servlet中的request对象、重定向和转发的差别(6)
1.这里所说的request对象指的是HttpServletRequest对象,它代表client的请求,当client通过HTTP协议訪问server时.HTTP请求头中的全部信息都封装在这个对象中 ...
- HTTP中的重定向和请求转发的区别
原文出处:http://blog.csdn.net/meiyalei/article/details/2129120 一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: reque ...
- HTTP中的重定向和请求转发的区别(转)
一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(reques ...
- HTTP中的重定向和请求转发的区别(转)
时间长有些忘了,转篇文章加深一下印象: 一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下:request.getRequestDispatcher("new.jsp&qu ...
- JavaWeb(一)Servlet中乱码解决与转发和重定向的区别
前言 前面其实已经把Servlet中所有的内容都介绍完了,这篇讲补充一点乱码和重定向与转发之间的区别! 一.request请求参数出现乱码问题 1.1.get请求 1)乱码示例 get请求的参数是在u ...
- Spring MVC重定向和转发以及异常处理
SpringMVC核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向.而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器.对于 ...
随机推荐
- Python 面向对象编程基础
Python 面向对象编程基础 虽然Pthon是解释性语言,但是Pthon可以进行面向对象开发,小到 脚本程序,大到3D游戏,Python都可以做到. 一类: 语法: class 类名: 类属性,方法 ...
- Spring MVC 使用拦截器 HiddenHttpMethodFilter配置Rest风格的URL
<!-- 4.使用Rest风格的URI,将页面普通的post请求转为指定的delete或者put请求 --> 详细使用请参考这篇博客:地址:http://blog.csdn.net/ppl ...
- 深入理解Git (三) - 微命令上篇
1 git hash-object 曾经讲过Git用Hash值作为Git对象的名字,那么详细是哪个命令呢? 我们能够先改动一个文件: echo "hongchangfirst" & ...
- Python 对字符串切片
对字符串切片字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符.因此,字符串也可以用切片操作,只是操作结果仍是字符串:>>> 'A ...
- Java之字节码(1) - 深入解析
转载地址 一:Java字节代码的组织形式 类文件{ OxCAFEBABE,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域 ...
- web站点,同一个浏览器只能登陆一个用户的原因(cookie不能跨浏览器)
我的web站点,比如 http://ip/testsite/default.aspx, 当我在我的机器上,用chrome打开,用账号user1登陆,那么当我再新开个tab,再打开这个web站点,这时 ...
- 【转帖】阿里金融云:分布式服务注册中心(DSR)
https://www.cloud.alipay.com/docs/middleware/register/index.html 分布式服务注册中心(DSR) 分布式服务注册中心简介 服务注册中心 ( ...
- 【LeetCode】63. Unique Paths II
Unique Paths II Follow up for "Unique Paths": Now consider if some obstacles are added to ...
- C# “预先生成事件命令行”和“后期生成事件命令行”
概述 Visual studio 项目允许在项目属性生成事件一栏中指定预先生成和后期生成事件来实现项目生成与部署的自动化. 实例1: 我自己写了一个调试工具,该工具处于一边开发一边使用过程中.实际工作 ...
- javascript sort方法容易犯错的地方
sort方法用来对数组排序非常方便.但是sort(func)这个func参数的构造却很容易混淆. sort判断func的返回值是判断正负,而不是ture和false.所以务必保证返回值要么负数要么正数 ...