一、重定向:重定向是客户端行为,在使用时,务必使用全路径,否则可能因为外部环境导致错误

  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 后台方法 重定向 与 转发的更多相关文章

  1. spring后台重定向方式

    1.直接返回值中加重定向:"redirect:要访问的网址"; public String updateOrAddProject() { return "redirect ...

  2. JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)

    HttpServletResponse简介 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 request和re ...

  3. SpringMVC系列(九)自定义视图、重定向、转发

    一.自定义视图 1. 自定义一个视图HelloView.java,使用@Component注解交给Spring IOC容器处理 package com.study.springmvc.views; i ...

  4. SpringMVC(一) 简单代码编写,注解,重定向与转发

    SpringMVC是什么 SpringMVC是目前最好的实现MVC设计模式的框架,是Spring框架的一个分支产品,以SpringIOC容器为基础,并利用容器的特性来简化它的配置.SpringMVC相 ...

  5. 【spring 后台跳转前台】使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中

    问题: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示:  问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法 ...

  6. java web重定向与转发

    首先定义一下这两个词: 重定向是将用户从当前页面或servlet定向到另外一个jsp页面或者servlet 转发是将用户对当前jsp页面或者servlet对象的请求转发给另外一个jsp页面或者serv ...

  7. SpringMVC 返回 html 视图页面,SpringMVC与Servlet,Servlet重定向与转发

    1. SpringMVC与Servlet的关系 SpringMVC框架是建立在Servlet之上的,提供各种功能,各种封装,各种方便的同时,它一点儿也没有限制Servlet,我们完全可以在Spring ...

  8. Liferay中actionURL能够执行后台方法 ,但是页面不跳转问题解决方案

    在学习liferay的过程中,遇到了这么一个问题,actionURL能够执行后台方法 ,但是页面不跳转,以下是两种解决方案: 方案1(不推荐此种办法): 强制将页面重定向. 在actionURL执行的 ...

  9. java 重定向和转发的区别

    注:原创链接  http://www.cnblogs.com/shenliang123/archive/2011/10/27/2226892.html response.sendredirect(&q ...

随机推荐

  1. 使用LAS数据集创建DEM和DSM

    作为 LAS 数据集转栅格工具的输入.大多数情况下,此工具的栅格化通过点的快速分组来完成.由于激光雷达相比较于其他采样技术比较密集,所以许多人相信分组已经足够了,不需要更耗时的插值方法.可以证明上述观 ...

  2. C++ 中virtual 用法

    一.virtual 修饰基类中的函数,派生类重写该函数: #include using namespace std; class A{ public: virtual void display(){ ...

  3. Java体系

    Java之父:詹姆斯·高斯林 java之前叫做“Oak”,后改名为Java.//Oak来源于橡树,java 来源爪哇岛的一种咖啡 Java语言平台 J2SE(Java 2 Platform Stand ...

  4. WGS84 2 GCJ-02

    #include ; ) { x=-x; ff=; } cc=) ff=; ) ff=; } x=tt; ss=x; s2=x; tt=tt*tt; s2=s2*tt; ss=ss-s2* ) ss= ...

  5. Chrome 浏览器自动填表呈现淡黄色解决

      Chrome 浏览器,当记住用户名和密码后,下次填写表单时,被记住的部分会被填充为淡黄色,有些时候不好看. 解决方式如下: input:-webkit-autofill {      -webki ...

  6. json简单案例

    1.Group类 import java.util.ArrayList; import java.util.List; class Group{ private int id; private Str ...

  7. LeetCode_100. Same Tree

    100. Same Tree Easy Given two binary trees, write a function to check if they are the same or not. T ...

  8. 为什么每次登录要手动 source /etc/profile ...

    由于执行顺序如下,故追个查看以下文件,看看是不是 JAVA_HOME, PATH 等环境变量在后面的文件中被重写覆盖了. 1. /etc/profile2. /etc/environment3. ~/ ...

  9. selenium3 web自动化测试框架 三:项目实战中PO模型的设计与封装

    po模型设计思想 Page Object 模式主要是将每个页面设计为一个class,其中包含页面中的需要测试的元素(按钮,输入框,标题等),这样在Selenium测试页面中可以通过调取页面类来获取页面 ...

  10. Direct2D 学习笔记 前言

    Direct2D模板程序网址:https://docs.microsoft.com/zh-cn/windows/win32/direct2d/direct2d-quickstart DirectX S ...