Spring MVC 解决乱码

1. Spring 事务处理
    Spring MVC乱码问题
    三种处理数据库的方式
        (1)jdbc(J2EE规范)
        (2)Spring JDBCTemplate(进一步封装)
        (3)MyBatis/Hibernate(不容易调错,效率不是很高,但写代码更新简单)
        (4)jpa (J2EE规范) java persist api
        jdbc: select * from user u where u.id=1;
        hibernate:from User u where u.id=1;
        
2. Spring  Transaction
    a.以前的处理方式:
        事务:原子性 一致性 隔离性 持久性
        同一个Connectiond
    b.AOP的原理和标注来实现了声明式的事务处理
    c.如何编码
        (1). 引入jar (不用引入jar,因为他就是aop实现,默认引入)
        (2). 开启Spring的事务处理功能
            AppConfig配置类加入@EnableTransactionManagement
        (3). 配置事务管理器的Bean(datasource)
                JdbcConfig配置中加入TransactionManagement。
        (4). 开始使用Spring事务
                Service 方法上加上 @Transactional

3. 处理乱码问题
    a:97(ascii 美国 1Byte 256) a: 97(gb2312/gbk 2-3Byte)
4. web系统最容易产生乱码的地方
    (1) 后台乱码的问题:
            a. 数据库UTF-8[默认Lanti1]
            b. JDBC连接的也要指定连接的编码格式
            c. 项目本身和项目文件都应采用UTF-8
    (2)应该理论上来说,你从前台存储数据到后台,或者拿数据到前台不应该出现乱码。
    (3)浏览器的问题
        a. 从浏览器的地址框直接传数据。
            get:浏览器会对数据进行ISO-8859-1的解码工作,后台utf-8进行解码。
            post:
        b. 拿到数据做展示
            要对传递的数据进行编解码处理。servlet的过滤器
            Spring帮我们写了这么一个过滤器,这个过滤器就是干编解码的工作
            
        编码: byte[] byte = "中".getBytes(‘ISO-8859-1‘);
        解码: String s = new String(bytes,"utf8")
        
        c. 配置Spring帮我们写好的那个Filter
        FilterRegistration.Dynamic encodingFilter =servletContext.addFilter("encodingFilter", CharacterEncodingFilter.class);
        encodingFilter.setInitParameter("encoding", String.valueOf(StandardCharsets.UTF_8));
        encodingFilter.setInitParameter("forceEncoding", "true");
        encodingFilter.addMappingForUrlPatterns(null, false, "/*");

原文地址:https://www.cnblogs.com/zhangze-lifetime/p/11833241.html

时间: 2024-10-14 20:42:40

Spring MVC 解决乱码的相关文章

解决Spring MVC ResponseBody 乱码问题

解决Spring MVC ResponseBody 乱码问题 @RequestMapping(value="qxyjqyresult",produces = "plain/text; charset=UTF-8") @ResponseBody public String getQxyjqyResult(String filename) throws Throwable { return "中文" }

spring mvc中文乱码解决思路

引起乱码原因为spring mvc使用的默认处理字符串编码为ISO-8859-1,具体参考org.springframework.http.converter.StringHttpMessageConverter类中public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1"); 解决方法: 第一种方法: 对于需要返回字符串的方法添加注解,如下: @RequestMapping(value=&quo

spring mvc 解决后台传递值乱码问题

在Web-xml 配置添加过滤器 <!-- 配置过滤器 解决乱码问题 --> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>

spring mvc出现乱码的问题

我的解决方案是在spring mvc的配置文件中加一个消息转换机制 <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.Http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list>

spring mvc 解决跨域问题

Spring MVC 从4.2版本开始增加了对CORS的支持. 在Controller上使用@CrossOrigin注解: // 指定域名 @CrossOrigin("http://domain2.com") // 允许所有域名跨域 @CrossOrigin("*") @CrossOrigin() 多个域名: @CrossOrigin(origins = {"http://domain1.com","http://domain2.com

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

目录(?)[+] 1:表单提交controller获得中文参数后乱码解决方案 注意: jsp页面编码设置为UTF-8 form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果 [html] view plain copy <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> [html] view plain copy <

Spring MVC解决中文乱码(post get)(转)

SpringMVC学习系列-后记 解决GET请求时中文乱码的问题 之前项目中的web.xml中的编码设置: <filter> <filter-name>CharacterEncoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name

Spring MVC传值乱码解决

在web.xml中进行配置,加入以下代码: 1 <!-- 乱码解决 --> 2 <filter> 3 <filter-name>characterEncodingFilter</filter-name> 4 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 5 <init-param> 6 <para

解决Spring MVC中文乱码

在web.xml中设置编码过滤器 <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name>