1、Servlet重定向forward与redirect:
forward是服务器内部重定向,客户端并不知道服务器把你当前请求重定向到哪里去了,地址栏的url与你之前访问的url保持不变。redirect则是客户端重定向,是服务器将你当前请求返回,然后给个状态标示给你,告诉你应该去重新请求另外一个url,具体表现就是地址栏的url变成了新的url。
forward(请求转发):(1)地址栏不变(2)request中参数保持
redirect(重定向):(1)地址栏变化(2)request中参数消失
2、ModelAndView重定向:
使用Spring MVC通常是使用ModelAndView用来返回视图。ModelAndView其实也是支持Servlet中的两种重定向方式。比如404页面我们一般采用redirect重定向方式,像下面的代码就是redirect重定向:
public ModelAndView getPage404MV() {
ModelAndView mv = new ModelAndView("redirect:/404.htm");
return mv;
}
要使用forward重定向就只需把redirect换成forward即可,特别的ModelAndView默认使用forward重定向方式。
3.spring MVC框架controller间跳转,需重定向。有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示。
(1)我在后台一个controller跳转到另一个controller,为什么有这种需求呢,是这样的。我有一个列表页面,然后我会进行新增操作,新增在后台完成之后我要跳转到列表页面,不需要传递参数,列表页面默认查询所有的。
方式一:使用ModelAndView
return new ModelAndView("redirect:/toList");
这样可以重定向到toList这个方法
方式二:返回String
return "redirect:/ toList ";
其它方式:其它方式还有很多,这里不再做介绍了,比如说response等等。这是不带参数的重定向。
(2)第二种情况,列表页面有查询条件,跳转后我的查询条件不能丢掉,这样就需要带参数的了,带参数可以拼接url
方式一:自己手动拼接url
new ModelAndView("redirect:/toList?param1="+value1+"¶m2="+value2);
这样有个弊端,就是传中文可能会有乱码问题。
方式二:用RedirectAttributes,这个是发现的一个比较好用的一个类
这里用它的addAttribute方法,这个实际上重定向过去以后你看url,是它自动给你拼了你的url。
使用方法:
attr.addAttribute("param", value);
return "redirect:/namespace/toController";
这样在toController这个方法中就可以通过获得参数的方式获得这个参数,再传递到页面。过去的url还是和方式一一样的。
分享到:
相关推荐
SpringMVC重定向实现方法解析 SpringMVC是一种基于Java的Web应用程序框架,提供了许多灵活的方法来实现重定向。重定向是指在Web应用程序中,将用户请求从一个URL重定向到另一个URL。 SpringMVC提供了多种方式来...
### Spring MVC 重定向导致内存溢出解决方案 在Spring MVC框架中进行页面重定向操作时,可能会遇到因重定向导致的内存溢出问题。本文将详细介绍该问题的原因、原理以及解决方法。 #### 一、问题背景及原因分析 在...
当用户提交表单后,服务器通常会处理请求并返回一个新的URL,浏览器接收到这个响应后会发起一个新的GET请求,这就是重定向。这种方式的一个显著特点是浏览器地址栏中的URL会改变,从而避免用户刷新页面时重复提交...
**Spring MVC RESTful 示例** ...RESTful 风格的 Web 服务已经成为现代 Web 开发的标准,因为它强调简单、轻量级的交互方式。在本示例中,我们将探讨如何使用 Spring MVC 创建一个 RESTful API。 ...
在Spring MVC框架中,请求转发和...总的来说,请求转发通常用于在同一应用内部进行页面间的导航,而重定向则常用于外部链接、登录重定向或防止表单重复提交等情况。在实际开发中,开发者应根据具体需求选择合适的方法。
在这个“springmvc 第二个例子”中,我们将探讨如何通过Spring MVC接收表单参数并执行重定向。 首先,让我们理解接收表单参数的过程。在Web应用中,用户通常通过HTML表单提交数据。Spring MVC提供了一个强大的机制...
在SpringMVC框架中,视图解析和重定向视图是关键组成部分,它们负责将处理结果展示给用户。此外,语言国际化的支持使得应用程序能够适应全球不同地区的用户需求。接下来,我们将深入探讨这三个主题。 首先,...
14. SpringMVC重定向和转发:重定向的关键字是`redirect`,它会发送一个HTTP 302响应,客户端浏览器会发起一个新的请求;转发的关键字是`forward`,它在服务器内部完成资源的跳转,客户端浏览器地址栏中的URL不会...
在SpringMVC框架中,跨重定向请求传递数据是常见的需求,特别是在处理POST请求之后,为了防止用户意外刷新或后退导致数据重复提交。本文将详细介绍两种主要的方法:使用URL模板和查询参数,以及通过Flash属性来传递...
SpringMVC 转发和重定向的区别 SpringMVC 框架中,转发和重定向是两个常用的请求跳转方式,但它们之间有着本质的区别。本文将详细讲解 SpringMVC 中的转发和重定向的区别,并给出实践示例。 一、转发(Forward) ...
在Spring MVC框架中,请求转发和重定向是两种常见的页面跳转方式,它们在处理用户请求和构建应用程序的流程控制中扮演着重要角色。本文将深入探讨这两种技术,并结合实际的代码示例来阐述其工作原理和使用场景。 ...
Springmvc中的转发重定向和拦截器的示例 Springmvc 中的转发和重定向是两种不同的处理请求的方式。转发是指在控制器内部处理请求的方法中,默认返回字符串时的处理方式,即返回的字符串是 view 组件的名称,例如 ...
`表示重定向到名为"success"的视图页面。 此外,SpringMVC支持数据绑定和验证,可以通过`@ModelAttribute`注解将请求参数绑定到Java对象,并利用`@Valid`和`Validator`接口进行数据验证。 对于异常处理,SpringMVC...
### 转发与重定向的区别 在Web开发中,转发(Forward)和重定向(Redirect)是两种常见的页面跳转方式。这两种方法虽然都能实现页面的跳转,但其内部工作原理、对客户端的影响以及应用场景都有所不同。本文将详细...
4. **SpringMVC中的拦截器**:在SpringMVC中,我们可以使用拦截器(Interceptor)来处理SSO的相关逻辑,比如在用户访问受保护的资源时,检查是否已经通过CAS认证,如果没有,则重定向到CAS登录页面。 5. **登录与...
【SpringMVC框架架构介绍】 SpringMVC是一个广泛使用的Java Web开发框架,它遵循Model-View-Controller(MVC)设计模式,简化了构建可维护和高性能的企业级应用程序的复杂性。以下是SpringMVC框架的一些核心概念和...
- 使用 `redirect:` 和 `forward:` 前缀可以实现重定向和转发。 7. **注解驱动开发** - SpringMVC 支持使用注解进行配置,如 `@Controller`、`@RequestMapping`、`@Service`、`@Autowired` 等,大大减少了 XML ...
在IT行业中,SpringMVC是Spring框架的一个重要模块,它被广泛用于构建Web应用程序,尤其在企业级开发中占据核心地位。本篇文章将深入探讨如何使用SpringMVC来实现一个简单的登录功能,以及在此过程中涉及的关键知识...
- 跳转方式:forward 和 redirect,分别对应页面内部转发和外部重定向。 - 作用域传值:session、request、application 等不同范围的变量传递。 - 文件上传与下载功能,支持大文件和断点续传。 - 异常处理机制,...