`
wobujupa
  • 浏览: 8818 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring MVC 表单提交乱码的解决方案

阅读更多

       这几天刚刚在上手SpringMVC,体验还是不错,特别是加入了annotation之后,大大减少了配置文件方面的工作量。

      从网上荡下一个简单的客户关系管理系统的原型,进行实际开发,不过在开发过程中,发现表单提交过程中出现乱码,网上的解决方案基本集中在filter和tomcat中的server.xml的配置修改,还有一种相当不推荐的就是每个传入的参数用

new String(request.getParameter("param").getBytes("ISO-8859-1"), "UTF-8")

 这种方式,毕竟如果参数较多的话,工作量太大,而且我用的是SpringMVC中@RequestParam的方式获取前台表单提交的参数,如果要拆开来单个处理乱码的话,实在是不实用。

      fileter代码如下:

<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
	         <param-name>forceEncoding</param-name>
	         <param-value>true</param-value>
	     </init-param>
</filter>
<filter-mapping>
	<filter-name>CharacterEncodingFilter</filter-name>
                <url-pattern>/*</url-pattern>
</filter-mapping>

       web.xml中代码如下

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" useBodyEncodingForURI="true"
                />

      网上的解决方案基本如上,按照如上配置貌似可以解决乱码的问题,但是经过debug之后,发现java代码中的乱码已经不存在,但是存入数据库(我用的是mysql)的数据仍然是???,最终发现问题出现在hibernate的配置文件上,hibernate持久化的时候并未进行编码格式的设置,因此在传入后台时,中文就已经变成乱码,因此对应修改hibernate.properties配置文件

dataSource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8

 关键是characterEncoding=UTF-8,修改配置文件,重新启动,讨厌的乱码不见了,bingo。

分享到:
评论

相关推荐

    彻底解决Spring MVC中文乱码问题的方案

    本篇文章将深入探讨如何彻底解决Spring MVC中的中文乱码问题,以便于开发者能够流畅地处理中文数据。 首先,当用户通过表单提交中文参数时,可能会遇到乱码问题。确保JSP页面的编码设置为UTF-8,例如在页面头部添加...

    spring mvc 入门介绍

    - 配置 CharacterEncodingFilter,解决中文乱码问题。 **4. 实现登录逻辑** - 编写控制器类 (LoginController.java),负责处理登录请求。 - 通过 @RequestMapping 注解指定请求映射路径。 - 在控制器的方法中...

    Spring MVC 文件上传下载

    Spring MVC 是一个强大的 web 应用开发框架,它提供了丰富的功能来处理用户请求,包括文件上传和下载。本文将深入探讨如何使用 Spring MVC 实现文件的上传与下载。 首先,要实现文件上传,我们需要引入一些必要的...

    Spring MVC注解开发总结

    POST请求时,参数通常来自表单提交,形参名与表单字段名一致。 四、配置类和扫描范围 1. **@ComponentScan**:类级别注解,用于指定Spring自动扫描的包,以便发现并注册带有特定注解(如`@Controller`)的类。 2....

    spring mvc 使用教程

    Spring MVC 提供了 `form:form`、`form:input` 等标签简化表单处理,例如: ```jsp ... ``` 以上就是 Spring MVC 的基础使用教程,通过这些知识,你可以构建一个完整的后端应用。继续学习和实践,你将...

    spring MVC 上传 &下载

    ### Spring MVC 文件上传详解 #### 一、Spring MVC与文件上传概述 在现代Web应用开发中,文件上传是一项常见的需求。Spring MVC框架提供了强大的支持来处理这类操作,它利用了Apache Commons FileUpload库来实现...

    一个简单的spring mvc实例.docx

    【Spring MVC基本概念】 Spring MVC 是 Spring 框架的一部分,专门用于构建Web应用程序的控制器层。它提供了一个模型-视图-控制器(MVC)架构,帮助开发者将业务逻辑、数据处理和用户界面分离,使得应用更易于管理...

    工作流乱码解决方案

    "工作流乱码解决方案"这个主题就针对Activiti5在处理中文或其他非ASCII字符时可能出现的显示异常进行探讨。 Activiti5是一个开源的工作流和业务流程管理平台,它基于Java,支持BPMN 2.0标准,为企业提供了一套强大...

    spring mvc实现文件上传并携带其他参数的示例

    在Spring MVC框架中,文件上传是一项常见的功能,它允许用户通过表单提交文件,并将这些文件与其他参数一起处理。在本文中,我们将深入探讨如何在Spring MVC中实现这个功能,同时携带其他参数。 首先,我们需要引入...

    解决表单post,get到springMVC后台乱码的问题

    在 Spring MVC 框架中,处理表单提交数据时可能会出现乱码问题,尤其是在使用 POST 或 GET 请求时。这篇文章将分享解决表单post,get到springMVC后台乱码的问题的方法,并对相关知识点进行详细的解释。 乱码问题的...

    springMVC比较常见的配置以API

    `BaseCommandController`是Spring MVC中用于处理表单提交的控制器,它继承自`AbstractCommandController`,并提供了处理命令对象(Command Object)的基础功能。然而,Spring 3.0之后,推荐使用`@ModelAttribute`...

    Spring MVC面试宝典1.pdf

    ### Spring MVC面试宝典知识点详解 #### 一、SpringMVC简介 ##### 1.1 什么是SpringMVC? SpringMVC是一个基于Java的轻量级Web应用框架,该框架遵循MVC(Model-View-Controller)设计模式,旨在简化Web层的开发。...

    SpringMVC Tomcat控制台乱码问题解决方案

    解决方案主要分为两部分,一部分是解决Tomcat控制台乱码问题,另一部分是解决SpringMVC提交表单时网页出现乱码情况。 (1)解决Tomcat控制台乱码问题 要解决Tomcat控制台乱码问题,需要修改Tomcat的logging....

    MySpringMVC-字符乱码处理.rar

    下面将详细讨论Spring MVC中的字符编码问题及其解决方案。 首先,我们需要理解字符乱码的产生原因。字符乱码通常发生在数据的编码、传输和解码过程中。例如,当用户通过表单提交非ASCII字符时,如果服务器端的字符...

    JSP中文乱码解决集锦

    可以使用第三方库如Apache Commons FileUpload或Spring MVC的MultipartFile来处理文件上传,它们通常内置了对多部分请求的正确编码处理。 总之,解决JSP中文乱码问题的关键在于确保整个请求处理链中的字符编码一致...

    传值 乱码 处理 jsp 处理表单时

    3. **国际化支持**:考虑使用Spring MVC等框架提供的国际化支持,便于管理多语言环境下的编码问题。 综上所述,在JSP开发中遇到乱码问题时,最重要的是要确保各个环节的字符编码一致性。通过上述方法可以有效地避免...

    EXT异步提交FORM表单

    ### EXT异步提交FORM表单...通过以上内容,我们不仅了解了EXT异步提交FORM表单的具体实现细节,还深入探讨了其与Struts2/Spring2.5框架的集成方法。这将有助于开发者更好地利用这些技术栈构建高效稳定的Web应用程序。

    Spring MVC的文件下载实例详解

    Spring MVC是Java开发中常用的Web框架,它基于Servlet API构建,提供了模型-视图-控制器(MVC)架构。本文将深入解析如何在Spring MVC中实现文件下载功能,包括文件读取、响应头设置、以及如何处理不同浏览器的兼容...

    03.SpringMVC中如何解决POST请求中文乱码问题GET的又如何处理呢.zip

    总结,解决Spring MVC中的POST和GET请求中文乱码问题,关键在于确保整个系统从客户端到服务器端的字符编码一致性,包括过滤器、控制器参数、表单提交以及服务器配置等。遵循以上步骤,可以有效避免中文乱码的出现。...

    JAVA框架面试题汇总.docx

    8. **字符编码**:在Spring MVC中,可以通过配置CharacterEncodingFilter解决POST请求的乱码问题。GET请求的乱码可以通过修改Tomcat配置或重新编码URL参数来处理。 9. **Spring MVC与Struts2的区别**: - 入口点:...

Global site tag (gtag.js) - Google Analytics