快速业务通道

SpringSide开发实战(二):修改数据库、字符编码和快速部署应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

SpringSide开发实战(二):修改数据库、字符编码和快速部署应用

时间:2011-05-07 blogjava 海边沫沫

SpringSide默认的数据库是hsql,但是大部分开发人员熟悉的数据库是MySql,因此在实 际开发过程中,遇到的第一件事往往是修改数据库。在SpringSide中修改数据库很简单,还 是以前一篇中创建的xkland项目为例,首先修改src\main\resources\config文件夹下的 jdbc.properties文件,注释掉1、2行,解注释7、8行,并修改10、11行的用户名和密码, 如下:

1#jdbc.driverClassName=org.hsqldb.jdbcDriver 2#jdbc.url=jdbc:hsqldb:res:/hsqldb/helloworld 3 4#jdbc.driverClassName=oracle.jdbc.driver.OracleDriver 5#jdbc.url=jdbc:oracle:thin:@localhost:helloworld 6 7jdbc.driverClassName=com.mysql.jdbc.Driver 8jdbc.url=jdbc:mysql://localhost:3306/xkland? useUnicode=true&characterEncoding=utf8 9 10jdbc.username=xkland 11jdbc.password=xkland

其次是修改src\main\resources\config文件夹下的hibernate.properties文件,注释掉 第一行,解注释第二行,如下:

1#hibernate.dialect=org.hibernate.dialect.HSQLDialect 2hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 3#hibernate.dialect=org.hibernate.dialect.Oracle9Dialect 4hibernate.show_sql=false 5hibernate.cache.use_query_cache=true 6hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider

这个过程是简单的,但是还有一件很重要的事情需要注意,那就是一定要记得把MySQL提 供的JDBC驱动mysql.jar拷贝到src\main\webapp\WEB-INF\lib文件夹下,否则,会遇到如下 错误:

SpringSide开发实战(二):修改数据库、字符编码和快速部署应用 - 编程入门网

SpringSide非常注重对i18n的支持,因此创建国际化的应用程序非常方便,只需要在 src\mian\resources\i18n文件夹下加入相应的资源文件即可。SpringSide默认使用UTF-8编 码,这从web.xml中注册的encodingFilter就可以看出来,当然也可以选择自己喜欢的字符 编码,比如GB2312。如果要修改字符编码,一定要记住有四个地方要保持一致:

1、web.xml中的encodingFilter配置,如下:

<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>

SpringSide开发实战(二):修改数据库、字符编码和快速部署应用(2)

时间:2011-05-07 blogjava 海边沫沫

2、数据库中的默认字符集,需要在创建数据表的时候指定,如下:

CREATE TABLE `user` ( `id` int(11) NOT NULL auto_increment, `username` varchar(20), `password` char(32), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

3、JDBC的连接设置,在src\main\resources\config\jdbc.properties中,如下:

jdbc.url=jdbc:mysql://localhost:3306/xkland? useUnicode=true&characterEncoding=utf8

4、JSP页面中的页面编码,如下:

<%@ page contentType="text/html; charset=utf-8" %> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

只要将这四个地方设置为一致,JSP页面显示出来就应该不会是乱码。归根结底,是 SpringSide在web.xml中注册的encodingFilter帮了大忙。但是,当需要从Struts的 resource bundle中读取message的时候,就不是那么方便了,因为

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号