CharacterEncoding:
在web 开发中常常遇到中文乱码的问题,解决的方案常常是在web.xml中 配置一个过滤器,spring为我们的web开发提供了一个过滤器,可以解决中文乱码的问题。需要在web.xml 中配置Spring为我们提供的过滤器
<!-- 字符集乱码过滤器 --> <filter> <filter-name>encoding</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>encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
实验,把附件中的web项目部署在Tomcat中如果没有这个过滤器,在页面上提交的中文数据,进了数据库就乱码了
注意:
1.我的数据库中的表的字符集是gbk
CREATE TABLE `person` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=gbk
2.连接数据库的字符串
url=jdbc\:mysql\://localhost\:3306/test?useUnicode\=true&characterEncoding\=GBK
3.果如两者不同意 中文数据就不能入库 回报一个错误
java.sql.SQLException: Incorrect string value: '\xC3\xA5\
OpenSessionInView:
Hibernate 的session的生命周期 横跨 servlet和jsp,当我们的jsp需要用到某个延迟属性的时候,发现session已经关闭了,就会发生延迟加载例外
在web.xml配置
<!-- 使用spring解决hibernate因session关闭导致的延迟加载例外问题 --> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
附件中式 测试的项目,lib中的jar包 见以前 http://8366.iteye.com/admin/blogs/412303