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核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向.而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器.对于 ...
随机推荐
- MyEclipse发布按钮无效的办法
删除存放您MyEclipse项目的目录下的“/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.genuitec.eclipse.as ...
- Reduce 优化(mapr)
1.合理设计桶的大小,插入桶的时候,桶的数目和reduce的数目一致,结合map的输出大小合理设置桶的大小,否则在reduce阶段就会非常慢. 2.查看reduce的copy的速率,如果map out ...
- javascript - return
return 使用,建议使用vsCode编译器. /** * return:中断语句运行. * * 1.return;和return false是一样的 * 2.return只能返回一个参数,可以是值 ...
- 桥(Bridge)模式
Bridge定义:将抽象和行为划分开来,各自独立,但能动态的结合. 为什么使用桥模式 通常,当一个抽象类或接口有多个具体实现(concrete subclass),这些concrete之间关系可能有以 ...
- 搭建Android开发环境之旅
1.首先要下载相关的软件 1). JDK 6 以上 2). eclipse( Version 3.6.2 or higher ) 点击下载 3). SDK(android-sdk_r18-windo ...
- 01-maven环境配置
一,下载maven.进入官网,点击downland,选择相应的版本下载. 2, 二,解压到相应目录下. 例如下载如下: 解压到该路径: 三,配置环境变量,新建一个maven_Home的变量,值为有bi ...
- OFBiz:扩展controller.xml
如何扩展controller.xml?两种方法:一种方法是直接修改原先的controller.xml,这种方法不方便后续升级.第二种方法是新建一个extended.xml文件,再在controller ...
- 【Redis】redis开机自启动、设置守护进程、密码设置、访问权限控制等安全设置(redis默认端口6379)
一.redis设置开机自启动:centOS: 1.修改redis.conf中daemonize为yes,确保守护进程开启,也就是在后台可以运行. (守护进程:孤儿进程:独立于终端而存在的进程,不会因为 ...
- window.open()函数
http://hi.baidu.com/gagahjt/blog/item/7b76e0dee61b20aecd11661c.html open函数详解: window.open("sUrl ...
- Mysql5.7的初始密码更改
软件版本的变化真是让人兴奋…… Linux服务器决定安装使用mysql 5.7了. 愉快的去官网下载安装包:https://dev.mysql.com/downloads/mysql/ 解决完所有依赖 ...