Spring 面试题, Spring MVC 中如何处理表单提交?
Spring 面试题, Spring MVC 中如何处理表单提交?
QA
Step 1
Q:: Spring MVC 中如何处理表单提交?
A:: 在 Spring MVC 中,表单提交通常通过表单绑定(Form Binding)机制来处理。首先,在控制器中定义处理表单提交的方法,并使用 @RequestMapping 注解指定路径。表单数据会被绑定到方法参数上的 Java 对象,该对象通常使用 @
ModelAttribute 注解标记。Spring 会自动将表单字段的值绑定到该对象的相应字段。然后,在方法中对表单数据进行处理,如验证和保存,并返回相应的视图。
Step 2
Q:: Spring MVC 中如何进行表单验证?
A:: 在 Spring MVC 中,表单验证可以通过 Java Bean Validation API (例如,使用 Hibernate Validator) 和 Spring 的 @Valid 注解结合使用。首先,在表单绑定的对象上使用注解(如 @NotNull, @Size, @Email 等)定义验证规则。然后,在控制器方法参数上添加 @
Valid 注解,Spring MVC 会自动执行验证。如果验证失败,默认情况下,Spring 会将错误信息添加到 BindingResult 对象中,并返回原始表单视图,显示验证错误信息。
Step 3
Q:: 如何处理 Spring MVC 表单提交中的文件上传?
A:: Spring MVC 提供了对文件上传的良好支持。使用 Spring 的 MultipartResolver 接口(如 CommonsMultipartResolver 或 StandardServletMultipartResolver),可以在表单中添加文件上传字段。在控制器中,方法参数可以使用 MultipartFile 对象来接收上传的文件。然后可以将文件保存到服务器的指定目录或数据库中,并执行其他必要的业务逻辑。