SpringMVC 转发、重定向
2023-09-11 14:14:35 时间
转发、重定向到其它业务方法
@org.springframework.stereotype.Controller @RequestMapping("/userController") public class UserController{ @RequestMapping("/handler1") public String handler1() throws IOException { //转发给handler2处理 return "forward:handler2"; } @RequestMapping("/handler2") public void handler2(HttpServletResponse response) throws IOException { //...... } }
返回String,在里面加上关键字:forward(转发),redirect(重定向)。
(1)如果是转发、重定向到本controller的其它业务方法:
- 可以写全路径
return "forward:/userController/handler2";
- 也可以只写子路径,但不要子路径开头的斜杠
不管handler2()是标注为@RequestMapping("/handler2"),还是标注为@RequestMapping("handler2"),都只能这样:
return "forward:handler2";
(2)如果是转发、重定向到其它controller的业务方法,只能写全路径。
转发、重定向到视图
springmvc本来就会把返回的字符串作为视图名解析,然后转发到对应的视图。
转发有2种方式:
- 不使用关键字forward,可以使用视图解析器
- 使用关键字forward,但只能写全路径
重定向:
- 使用关键字redirect,只能写全路径
因为使用关键字forward、redirect时,SpringMVC不会使用视图解析器来解析视图名,也就不能使用视图名拼接,只能写全路径。
示例
在web文件夹下新建1.jsp
return "redirect:/1.jsp";
/表示web文件夹根目录。
可以转发、重定向到html这种静态页面,也可以转发、重定向到WEB-INF下的页面,但需要配置资源,
参考:https://www.cnblogs.com/chy18883701161/p/12249175.html
当然,也可以使用servlet的方式来实现:
- 传入HttpServletRequest | HttpServletResponse类型的参数。
相关文章
- spring + springMVC + spring Data + jpa + maven 项目框架搭建
- SpringMVC之拦截器实现登录验证
- Springmvc构造RESTful详细讲解
- springmvc: 普通list数据输出json
- springmvc的@Validated/@Valid注解使用和BindingResult bindingResult
- 手把手教你整合最优雅SSM框架:SpringMVC + Spring + MyBatis
- 这次要好好吐槽下idea呢还是SpringMVC ?
- maven+springmvc+dubbo+zookeeper
- SpringMVC 页面跳转指南:转发和重定向的实现与比较
- 解决SpringMVC中文乱码问题--这是前端传参数到服务器
- 三思考,实现自己定义404页:Tomcat、SpringMVC精确匹配、重写DispatchServlet
- SpringBoot整合SpringMVC、持久层技术MyBatis、连接mysql数据库技术
- [springMVC学习]8、解决springmvc中文乱码问题
- [springMVC学习]4、获取请求信息,使用servlet API