整合 SSM 乱码问题

今天在整合 SSM 出现了中文乱码问题,所以来记录下解决方案

我是 POST 请求,所以对于 get 请求出错的问题,你可以考虑修改 tomcat 的配置文件 service.xml

  1. 最开始以为是 web.xml 过滤器设置有问题
<filter>
    <filter-name>encodingFilter</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>
</filter>

<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
  1. 问题无法解决,检查了 database.properties
# 注意在电脑上启动 mysql 服务
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root

其实这里就出现问题了,但是我没有注意到
3. 我然后又检查了 spring-dao.xml 文件,感觉并没有问题

<context:property-placeholder location="classpath:database.properties"/>

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <!-- 配置连接池属性 -->
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>

        <!-- c3p0 连接池私有属性 -->
        <property name="maxPoolSize" value="30"/>
        <property name="minPoolSize" value="10"/>
        <!-- 关闭连接后不自动 commit -->
        <property name="autoCommitOnClose" value="false"/>
        <!-- 获取连接超时时间 -->
        <property name="checkoutTimeout" value="10000"/>
        <!-- 获取连接失败重试次数 -->
        <property name="acquireRetryAttempts" value="2"/>
    </bean>
  1. <property name="jdbcUrl" value="${jdbc.url}"/> 换为 <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ssmbuild?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"/> 不再使用变量名的形式,结果发现:竟然成功了!!!

重点来了

我将 database.properties 文件内的 jdbc.url 改为

jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=falseuseUnicode=true&characterEncoding=UTF-8

注意中间的 & ,再使用变量名,发现成功解决乱码问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值