struts2 result的转发与重定向

Struts2 result的结果类型总共有以下几个
如果结果类型没声明,默认是dispatcher(请求转发)

比较重要的几个类型:
dispatcher —— 请求转发到一个页面(默认),不可以用这种方式转发到一个action
chain ——    一个action请求转发至另一个 action
redirect —— 响应重定向到一个页面
redirectAction ——    一个action响应重定向至另一个 action
stream —— 文件下载

例如:

<action name="user_*" class="userAction" method="{1}">
			<result name="login">login.jsp</result>
			<result name="success" type="redirect">/index.jsp</result>
</action>

PS:转发与重定向的区别

区别一:
重定向时浏览器上的网址改变
转发是浏览器上的网址不变

区别二:
重定向实际上产生了两次请求
转发只有一次请求

重定向:
发送请求 -->服务器运行–>响应请求,返回给浏览器一个新的地址与响应码–>浏览器根据响应码,判定该响应为重定向,自动发送一个新的请求给服务器,请求地址为之前返回的地址–>服务器运行–>响应请求给浏览器

转发:
发送请求 -->服务器运行–>进行请求的重新设置,例如通过request.setAttribute(name,value)–>根据转发的地址,获取该地址的网页–>响应请求给浏览器

区别三:
重定向时的网址可以是任何网址
转发的网址必须是本站点的网址

猜你喜欢

转载自blog.csdn.net/qq_44752641/article/details/106275983