Spring 后台方法 重定向 与 转发
一、重定向:重定向是客户端行为,在使用时,务必使用全路径,否则可能因为外部环境导致错误
1、URL改变为重定向的URL地址
2、前台页面不能使用Ajax请求提交, 应该使用form表单提交
方法一、参数URL
return new RedirectView("https://www.baidu.com")
方法二、参数URL
return "redirect:https://www.baidu.com";//协议类型一定要有
return "redirect:/home";
方法三、参数URL
response.sendRedirect("https://www.baidu.com");
方法四、参数view、viewName
return new ModelAndView("redirect:https://www.baidu.com")
3、参数传递
方法一、直接在url后面拼接参数,使用@RequestParam来取值,不推荐使用
方法二、在controller方法的参数中使用RedirectAttributes来传递参数;在跳转的controller中同样使用@RequestParam来取值,在浏览器中同样是拼接参数的形式
public String redirect(RedirectAttributes attr) {
attr.addAttribute("name", "zhangsan");
return "redirect:/home";
}
方法三、使用RedirectAttributes的addFlashAttribute的方法来设置值,原理是在跳转前将值放入session中,跳转之后就将值清除掉。浏览器的地址不显示参数的值,推荐使用这种方法来传值。
attr.addFlashAttribute("name", "zhangsan");
重定向的方法中取值:@ModelAttribute("name") String name, 前台页面中无法取到该值
二、转发,服务器行为相对路径没有问题
1、地址栏不会改变
2、转发前后,后边的控制器继承前边控制器的请求参数(前边的控制器中改变参数,后边控制器看到的参数是更改后的参数)
3、拦截器只拦截一次请求
4、转发会在后台执行多个控制器
方法一、
return "forward:/dengluPost";
方法二、参数URL
request.getRequestDispatcher("/dengluPost").forward(request,response);
方法三、参数view、viewName
return new ModelAndView("forward:/dengluPost")
三、知识点
1、单系统, 经过重定向、转发的请求 sessionId 不变
2、
Spring 后台方法 重定向 与 转发的更多相关文章
- spring后台重定向方式
1.直接返回值中加重定向:"redirect:要访问的网址"; public String updateOrAddProject() { return "redirect ...
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)
HttpServletResponse简介 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 request和re ...
- SpringMVC系列(九)自定义视图、重定向、转发
一.自定义视图 1. 自定义一个视图HelloView.java,使用@Component注解交给Spring IOC容器处理 package com.study.springmvc.views; i ...
- SpringMVC(一) 简单代码编写,注解,重定向与转发
SpringMVC是什么 SpringMVC是目前最好的实现MVC设计模式的框架,是Spring框架的一个分支产品,以SpringIOC容器为基础,并利用容器的特性来简化它的配置.SpringMVC相 ...
- 【spring 后台跳转前台】使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中
问题: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示: 问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法 ...
- java web重定向与转发
首先定义一下这两个词: 重定向是将用户从当前页面或servlet定向到另外一个jsp页面或者servlet 转发是将用户对当前jsp页面或者servlet对象的请求转发给另外一个jsp页面或者serv ...
- SpringMVC 返回 html 视图页面,SpringMVC与Servlet,Servlet重定向与转发
1. SpringMVC与Servlet的关系 SpringMVC框架是建立在Servlet之上的,提供各种功能,各种封装,各种方便的同时,它一点儿也没有限制Servlet,我们完全可以在Spring ...
- Liferay中actionURL能够执行后台方法 ,但是页面不跳转问题解决方案
在学习liferay的过程中,遇到了这么一个问题,actionURL能够执行后台方法 ,但是页面不跳转,以下是两种解决方案: 方案1(不推荐此种办法): 强制将页面重定向. 在actionURL执行的 ...
- java 重定向和转发的区别
注:原创链接 http://www.cnblogs.com/shenliang123/archive/2011/10/27/2226892.html response.sendredirect(&q ...
随机推荐
- laravel不同用户对应的同名的session是独立的
laravel不同用户对应的同名的session是独立的 一.总结 一句话总结: laravel中 不同用户会根据不同的laravel_session从而将session存在不同的session文件里 ...
- Mysql备份工具mysqldump和mysqlhotcopy
(1).Mysql备份类型 1)按照备份时对数据库的影响分为 Hot backup(热备):也叫在线备份.指在数据库运行中直接备份,对正在运行的数据库没有任何影响. Cold backup(冷备):也 ...
- 设置滑动TabBar的显示和隐藏
代码如下: //设置滑动的判定范围 - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint ...
- SQLite 的简单使用
程序运行结果如下 : 输入name和age,点击"确认插入"按钮,即插入一条记录到数据库. 程序代码如下:(有详细注释,相信大家都看得懂哈!!!) //// ViewContro ...
- laravel容器类make方法解释
容器类调用make方法时,如果没有已注册的key,那么会自动通过反射类实例化具体类 make /** * Resolve the given type from the container. * * ...
- MODRD 指令 读取地址是哪儿来的
MODRD s1 s2 n 例如: MODRD K1 H2102 K2 (台达VFDM变频器) 读取变频器的主频率及输出频率,并存放于寄存器D1050,D1051指令中s2的数据地址是 ...
- CentOS 7启动与切换图形界面
安装图形界面 默认情况下是不会安装图形界面的,所以需要自己手动安装,步骤如下: 1.开启系统,以root身份进入 安装X(X Window System),命令如下: yum groupinstall ...
- vue中的$listeners属性作用
一.当组件的根元素不具备一些DOM事件,但是根元素内部元素具备相对应的DOM事件,那么可以使用$listeners获取父组件传递进来的所有事件函数,再通过v-on="xxxx"绑定 ...
- 基于 Spring + Atomikos + Mybatis的多数据源配置(含有BaseDao,BaseService)
1.spring配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- amazeUI modal 模态框 关闭属性
$('#my-prompt').modal({ relatedTarget: this, closeViaDimmer: false, // 点击外部空白处不关闭弹窗 closeOnConfirm:f ...