`
8366
  • 浏览: 809038 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

第30讲--Spring提供的CharacterEncoding和OpenSessionInView功能

阅读更多

 

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已经关闭了,就会发生延迟加载例外

 

使用spring解决hibernatesession关闭导致的延迟加载例外问题。

 

 

在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

 

 

  • SSH.rar (21.8 KB)
  • 下载次数: 20
分享到:
评论

相关推荐

    Spring提供的CharacterEncoding和OpenSessionInView功能

    Spring框架是Java开发中不可或缺的一部分,它为开发者提供了丰富的功能,包括依赖注入、面向切面编程、事务管理等。在处理Web应用时,Spring提供了一些关键特性,如`CharacterEncodingFilter`和`...

    spring-boot-starter-mybatis-spring-boot-2.1.2.tar.gz

    《Spring Boot集成MyBatis详解:基于spring-boot-starter-mybatis-2.1.2》 在现代Java开发中,Spring Boot以其简化配置、快速启动的特性,深受开发者喜爱。而MyBatis作为轻量级的持久层框架,以其灵活的SQL映射,...

    spring-boot-starter-mybatis-spring-boot-1.2.0.zip

    首先,我们来看标题中的"spring-boot-starter-mybatis",这是Spring Boot官方提供的一个起步依赖(Starter),它简化了MyBatis与Spring Boot的集成过程。通过引入这个依赖,我们可以快速地在项目中使用MyBatis进行...

    参照阿里druid整理druid-spring-boot-starter的demo

    4. **SQL解析与拦截器**:Druid提供了SQL解析和拦截器功能,可以用于日志记录、性能分析等。在`application.yml`中添加相关配置: ```yaml spring: datasource: druid: web-stat-filter: enabled: true stat-...

    spring-boot-starter-mybatis-spring-boot-2.2.2.tar.gz

    《Spring Boot集成MyBatis详解:基于spring-boot-starter-mybatis-2.2.2》 在现代Java开发中,Spring Boot以其简化配置、快速启动的特性,深受开发者喜爱。而MyBatis作为轻量级的持久层框架,以其灵活的SQL映射和...

    Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现分库分表+读写分离.docx

    Spring Boot是一个基于Java的微服务框架,提供了快速开发和部署微服务的能力。Sharding-JDBC可以与Spring Boot进行整合,以实现数据库分库分表和读写分离。 四、Sharding-JDBC的配置 Sharding-JDBC的配置主要通过....

    Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现读写分离.docx

    **Spring Boot** 则是一个基于 Spring 开发框架的应用程序启动器,旨在简化新 Spring 应用程序的初始设置和依赖管理。Spring Boot 的目标是让开发者能够快速地构建独立的、生产级别的基于 Spring 应用的项目,并且尽...

    spring-boot 集成hibernate

    4. **连接池监控**: Druid提供了丰富的监控功能,可以在运行时查看连接池状态、SQL执行情况等,通过配置`spring.datasource.druid.web-stat-filter`和`spring.datasource.druid.stat-view-servlet`实现。 综上所述...

    3-7 Spring Boot 集成 Druid 监控数据源.pdf1

    总之,Spring Boot 集成 Druid 不仅提供了稳定高效的数据库连接管理,还提供了丰富的监控和扩展功能,使得开发人员在进行数据库访问性能分析和安全管理时有了更强大的工具。通过 Spring Boot 的自动化配置,集成过程...

    spring-boot-druid

    总结,Spring Boot结合Druid,能为你的Java项目带来高效稳定的数据库连接管理,同时提供丰富的监控功能,帮助开发者更好地理解和优化数据库性能。通过以上步骤,你可以轻松地在你的Spring Boot项目中集成并使用Druid...

    参照阿里druid个人整理druid-spring-boot-starter可运行demo

    总结来说,这个“参照阿里druid个人整理druid-spring-boot-starter可运行demo”展示了如何在Spring Boot项目中集成和配置Druid数据源,以及启用监控功能。通过这样的实践,开发者可以更好地理解和利用Druid的强大...

    spring-boot-mybatis-mysql.zip

    通过以上步骤,我们可以成功地在Spring Boot项目中整合MyBatis和MySQL,实现高效的数据操作和管理。这个过程不仅简化了开发流程,也提高了项目的可维护性和扩展性。在实际开发中,还可以根据具体需求进一步优化和...

    spring-boot集成mybatis

    Spring Boot以其简化配置和快速开发的特点,已经成为Java开发者首选的微服务框架。MyBatis作为轻量级的持久层框架,提供灵活的SQL映射,使得数据库操作更为简便。结合MySQL作为关系型数据库,Durid作为高性能的连接...

    springboot集成达梦数据库-所需jar包

    对于复杂的数据操作,你还可以考虑使用MyBatis或Hibernate等ORM框架,它们提供了更高级的映射和事务管理功能。只需将对应的依赖添加到`pom.xml`,并进行相应的配置即可。 在实际开发中,可能会遇到字符集编码的问题...

    (Spring Boot + MyBatis + MySQL)整合实现登录功能,内附SQL文件

    在本项目中,我们主要探讨如何使用Spring Boot框架与MyBatis持久层框架结合MySQL数据库来构建一个完整的用户登录功能。下面将详细讲解这个过程中的关键知识点。 首先,`Spring Boot`是一个基于Java的框架,它简化了...

    spring-boot-paoding-rose.zip

    Spring Boot简化了Spring应用程序的初始设置和配置,它默认集成了许多常用的依赖,并提供了一种“即插即用”的开发体验。Paoding-Rose,全称Paoding Rose for Java,是源自百度的一款开源Java Web框架,主要特性包括...

    mybatis-spring.docx

    【Mybatis-Spring 整合】\n\nMybatis-Spring 是一个将 Mybatis ORM 框架与 Spring 框架整合的库,它使得在 Spring 应用中使用 Mybatis 更加方便,实现了事务管理和 DAO 对象的自动创建。\n\n1. **添加依赖**\n为了在...

    start-spring-boot.rar

    Druid是阿里巴巴开源的一款数据库连接池产品,它不仅提供了强大的监控和扩展功能,而且性能优秀。Druid可以作为数据库连接池,同时提供了StatFilter统计信息、WallFilter防火墙、DruidStatServlet监控页面等实用功能...

    spring-boot-demo.zip

    本文将深入探讨如何利用Spring Boot、MyBatis和MySQL来构建一个简单的Web应用,包括登录功能和数据展示,适合初学者学习和实践。 首先,我们需要安装STS(Spring Tool Suite)作为开发环境,它为Spring Boot提供了...

Global site tag (gtag.js) - Google Analytics