springmvc中的转发和重定向

本文详细介绍了SpringMVC中请求转发和重定向的区别与应用场景。转发是服务器内部操作,URL不变,能共享request作用域;重定向则是客户端行为,URL改变,无法共享request作用域。文中列举了四种使用场景,包括转发到视图、转发到handler、重定向到handler以及重定向到视图,并给出了相应的代码示例。
摘要由CSDN通过智能技术生成

转发:客户端发送一次请求到服务器,服务器处理后转发到服务器内另一个servlet,处理后再返回响应.客户端的url地址不会发生改变,能共享request作用域;

重定向:客户端发送一次请求到服务器,服务器返回的响应中包含一个新的url地址;客户端根据响应中的url地址再一次发送请求,地址栏url改变,服务器再次返回响应;总共有两次请求,两次响应;不能共享request作用域;

转发是服务器内部行为,重定向是客户端行为;

一.转发到视图(jsp)(用的多)

1.在handler中,返回值若为字符串,springmvc会走视图解析器.转发到视图页面

例如:return "xxx";

二.转发到handler

在handler中,返回值若为"forward:xxx",springmvc会将其转发到一个requestMapping为xxx的handler;但是客户端只发送了一次请求,地址栏的url不会改变

例如:return "forward:xxx";

三.重定向到handler(用的多)

在handler中,返回值若为"redirect:xxx",springmvc会将请求重定向到requestMapping为xxx的handler;客户端地址栏的url会变为xxx;

四.重定向到视图(用得少)

在handler中,返回值若为"redirect:/???/xxx.jsp";会直接重定向到该视图.前后为视图解析器中定义的prefix和suffix;但是没啥意义,因为拿不到请求作用域的数据;

五.重定向到另一个controller的handler中

返回值为:"redirect:/controller2的requestMapping/handler2的requestmapping";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值