上一篇文章中存在一个问题,就是在表单提交后的成功视图中刷新网页时,刚刚提交的表单会再提交一次。这个问题被称作重复表单提交。为了避免这个问题,建议在成功地提交一个表单之后,要重定向到另一个URL,而不是直接返回一个HTML页面。
在web应用程序上下文中配置了ResourceBundleViewResolver,因此可以在classpath根部的views.properties中定义如下的重定向视图。
#重定向视图,解决SimpleFormController提交表单后,重复提交表单
viewSuccessRedirect.(class) = org.springframework.web.servlet.view.RedirectView
viewSuccessRedirect.url =index.jsp
将RegistrationController的成功视图指定为该重定向的视图。现在,当表单提交成功时,用户会被重定向到另一个URL,即使用户刷新了这个页面,也不会导致重复提交表单的问题。
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 初始化bean,指定初始页面和成功后的页面 -->
<bean id="registrationController"
class="com.wy.controller.RegistrationController">
<property name="commandClass" value="com.wy.pojo.User"/>
<property name="formView" value="login" />
<property name="successView" value="viewSuccessRedirect" />
</bean>
<!-- 映射处理器 -->
<bean id="simpleUrlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/register.do">registrationController</prop>
</props>
</property>
</bean>
<!-- 视图解析器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/page/" />
<property name="suffix" value=".jsp" />
<property name="order" value="1" />
</bean>
<bean id="resourceBundleViewResolver"
class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="basename" value="views" />
<property name="defaultParentView" value="views" />
<property name="order" value="0" />
</bean>
<bean name="/parameterizableViewController.do" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="viewSuccessRedirect" />
</bean>
</beans>
分享到:
相关推荐
SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- Hello...
Vans项目整合了SpringMVC,意味着它利用了SpringMVC的功能,如模型-视图-控制器(MVC)架构模式,实现了请求处理、数据绑定、验证、国际化等特性。 1. **SpringMVC**: - MVC架构:SpringMVC通过DispatcherServlet...
总结,SpringMVC-Activiti5.16-Shiro-EasyUI项目的整合是一个典型的Java Web应用实例,它结合了后端处理、工作流管理、权限控制和前端展示等多个方面,对于想要深入学习Java企业级开发的开发者来说,这是一个极好的...
基于SpringMVC Mybatis Shiro Redis 的权限管理系统,该系统已经部署到线上,线上访问地址:http://shiro.itboy.net,登录账号:admin 密码:sojson,,详细教程参考sojson.com/shiro
《SpringMVC-Mybatis-Shiro-Redis:构建安全高效的Web应用》 在现代Web开发中,构建一个高效且安全的后端系统是至关重要的。本文将深入探讨一个基于SpringMVC、Mybatis、Shiro和Redis的Web应用架构,这四个组件共同...
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...
SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的模型-视图-控制器(MVC)架构。在本文中,我们将深入探讨SpringMVC的基本概念、配置和关键注解,以便更好地理解和应用这一强大的Web开发工具。 首先,...
本学习笔记将涵盖前端控制器、文件上传、异常处理以及开发过程中的心得小结。 1. **前端控制器(DispatcherServlet)** 前端控制器是SpringMVC的核心组件,负责接收所有HTTP请求,然后根据请求的类型和映射规则...
SpringMVC 作为 Spring 框架的一部分,主要用于处理 HTTP 请求,实现 MVC(模型-视图-控制器)设计模式。而 MyBatis 是一个轻量级的持久层框架,它提供了方便的 SQL 执行和结果映射功能。 1. **SpringMVC 概述** -...
1. **SpringMVC示例项目**:可能包含一个使用SpringMVC构建的实际应用,展示了如何配置SpringMVC、如何创建控制器、如何处理视图以及如何与数据库交互。 2. **JAX-RS示例**:可能提供了一个或多个使用JAX-RS创建的...
springmvc-springioc-lib.rar springmvc-springioc-lib.rar
自己做的Spring+Mybatis+SpringMVC笔记------------------------------------------------------------------------------------------------------------------------ QQ:1017834057
- 在`springmvc-servlet.xml`中配置处理器映射器、处理器适配器、视图解析器等相关组件。 通过这个简单的学习笔记,你可以理解Spring MVC的基本架构和工作流程,为进一步深入学习和实践打下基础。在实际开发中,你...
springmvc学习笔记
3. **SpringMVC**:作为Spring的一部分,SpringMVC是用于构建Web应用程序的模型-视图-控制器(MVC)框架。学习如何配置DispatcherServlet、Controller、ModelAndView、视图解析器等是SpringMVC的重点。 4. **...
这个资源包“SpringMVC精品资源--宜立方商城”提供了一个完整的电商项目案例,涵盖了从后端服务到前端展示的全方位开发内容,对于学习和理解SpringMVC的实际应用具有极高的价值。 首先,让我们深入了解SpringMVC的...
个人学习spring框架时记录的笔记,纯手敲,SpringIOC+SpringMVC学习笔记,有兴趣的可以参考
SpringMVC精品资源--微信公众号的web管理工具 本项目采用springmvc+layui实现。
通过这个资源包,学习者可以深入理解SpringMVC的工作原理,掌握如何创建控制器、处理请求、绑定数据、返回视图以及如何与数据库交互。同时,也可以了解到如何配置SpringMVC和集成其他Spring组件,以提升Web应用的...
SpringMVC是一款轻量级且面向RESTful的Web框架,它是Spring框架的重要组成部分,主要用于构建后端服务。这个压缩包“SpringMVC精品资源--A lightweight and rest-oriented web framework”很可能包含了关于SpringMVC...