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, "/*");
Spring MVC 解决乱码的更多相关文章
- Spring MVC 解决 Could not write JSON: No serializer found for class java.lang.Object
Spring MVC 解决 Could not write JSON: No serializer found for class java.lang.Object 资料参考:http://stack ...
- spring mvc 中文乱码 post与get的方法解决
spring mvc表单提交中文参数乱码问题 今天测试spring mvc ,中文乱码,在web.xml中加上 <filter> <filter-name>encodingF ...
- spring mvc 解决后台传递值乱码问题
在Web-xml 配置添加过滤器 <!-- 配置过滤器 解决乱码问题 --> <filter> <filter-name>CharacterEncodingFilt ...
- spring mvc 返回乱码SpringMVC使用@ResponseBody注解返回中文字符串乱码的问题
原文地址:https://www.cnblogs.com/fzj16888/p/5923232.html 先说一下我的经历,以及解决问题的而过程. 在使用SpringMVC的时候,最开始的时候在配置文 ...
- Spring MVC 解决无法访问静态文件和"全局异常处理"
我们都知道,Spring MVC的请求都会去找controller控制器,若果我们页面中引入了一个外部样式,这样是没效果的, 我们引入样式的时候是通过<like href="...&q ...
- hibernate+spring mvc, 解决hibernate 对象懒加载 json序列化问题
引用地址 在使用Spring MVC时,@ResponseBody 注解的方法返回一个有懒加载对象的时候出现了异常,以登录为例: @RequestMapping("login") ...
- hibernate+spring mvc,解决hibernate对象懒加载,json序列化失败
在使用spring MVC时,@ResponseBody 注解的方法返回一个有懒加载对象的时候出现了异常,以登录为例: @RequestMapping("login") @Resp ...
- spring mvc 解决跨域问题
Spring MVC 从4.2版本开始增加了对CORS的支持. 在Controller上使用@CrossOrigin注解: // 指定域名 @CrossOrigin("http://doma ...
- spring mvc 解决csrf跨站请求攻击
http://www.dewen.net.cn/q/935/spring+mvc+%E8%A7%A3%E5%86%B3csrf%E8%B7%A8%E7%AB%99%E8%AF%B7%E6%B1%82% ...
随机推荐
- React 事件总结
目录 一 绑定事件处理函数 1.1 鼠标类 1.2 拖拽事件: 1.3 触摸 1.4 键盘 1.5 剪切类 1.6 表单类 1.7 焦点事件 1.8 UI元素类 1.9 滚动 1.10 组成事件 1. ...
- git 使用详解(10)-- 远程分支
远程分支 远程分支(remote branch)是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在Git 进行网络交互时才会更新.远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支 ...
- git 使用详解(8)—— 分支HEAD、branch/checkout
有人把 Git 的分支模型称为"必杀技特性",而正是因为它,将 Git 从版本控制系统家族里区分出来.Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎 ...
- openlayers4 入门开发系列之前端动态渲染克里金插值 kriging 篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- 【转载】Dockerfile文件详解
什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档.可以使用在命令行中调用任何命令. Docker通过读取Dockerfile中的指令自动生成映像. docker ...
- Nginx的事件循环
首先事件循环的起点就是监听端口获取连接,我们可以在ngx_event_core_module模块的ngx_event_process_init函数中看到如下的代码: /* for each liste ...
- 【Koa】385- koa框架的快速入门与使用
点击上方"前端自习课"关注,学习起来~ 简介 Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小. ...
- JS基础-BOM
BOM BOM 是 browser object model 的缩写, 简称浏览器对象模型. 主要处理浏览器窗口和框架, 描述了与浏览器进行交互的方法和接口, 可以对浏览器窗口进行访问和操作, 譬如可 ...
- hdu 6308 Time Zone (模拟+字符串处理)
Time Zone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 2016/10/21 java中的参数传方式
参考:http://blog.sina.com.cn/s/blog_59ca2c2a0100qhjx.html http://www.cnblogs.com/caiyao/p/4964176.html