栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring MVC中的重定向和视图呈现之间的区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring MVC中的重定向和视图呈现之间的区别

第一个返回视图,而后一个重定向到另一个控制器请求映射的操作。让我们看一下代码本身。

@RequestMapping(method = RequestMethod.POST)public String add(@Valid AppointmentForm appointment, BindingResult result) {    if (result.hasErrors()) {        return "appointments/new";    }

在这里,如果结果有错误,它将呈现视图,

appointments/new
以便用户可以输入正确的详细信息并再次添加约会。 URL在浏览器中不会更改

    appointmentBook.addAppointment(appointment);    return "redirect:/appointments";}

但是在这里,当结果没有错误时,此控制器操作会将网站重定向到URL / appointments 。检查 已更改为重定向URL 的Web浏览器
URL

关于

forward:
vs
redirect:

在控制器中使用重定向前缀将生成HTTP响应,其中包含302状态代码和指向重定向URL的位置标头。
然后,浏览器将重定向到该URL(第一个请求中公开的模型将丢失,而 浏览器URL将是第二个 )。

使用forward前缀,转发将由servlet在内部完成,因此不需要第二个请求 (URL将保持不变)
。转发前缀仅应在浏览器可以安全重复的请求中使用。当您发送更改数据库状态的表单时情况并非如此(重新加载浏览器将导致重复提交)。在这些情况下,您应该使用重定向并应用POST-
redirect-GET模式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/670794.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号