BAE 环境下配置 struts2 + spring + hibernate(SSH)(三)spring&hibernate

1.在lib中加入必要的包,导入后结果如下:

BAE 环境下配置 struts2 + spring + hibernate(SSH)(三)spring&hibernate

lib打包下载:SSH-lib.jar  (struts2.3.1.2  spring3.0.5 hibernate3.6.10.Final)

只包含必要的包 有其他需求另外加入

2.上传所有的java文件到 src 目录

3.把 applicationContext.xml  hibernate.cfg.xml 和 POJO映射文件(XXX.hbm.xml)都放到 src 目录下。

4.修改 applicationContext.xml 和 hibernate.cfg.xml 中的数据库配置部分

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://sqld.duapp.com:4050/dbname
jdbc.username=ak
jdbc.password=sk

数据库的地址是sqld.duapp.com,端口是4050,dbname是在应用管理的“云环境管理 > 服务管理 -> MySQL(数据库)”中创建的数据库名称,用户名为应用的API Key,密码为Secret Key。

5.修改 所有使用到数据库名的地方

例如:POJO映射文件(XXX.hbm.xml)中

<class name="bean.XXX" table="XXX" catalog="llXXxMuiXhSwIXFSiXxk">

中catalog的值都要改成 BAE指定的数据库名,不然的话会发生 异常 org.hibernate.exception.SQLGrammarException: could not execute query

6.修改 web.xml ,加入spring:

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
contextConfigLocation 是用来设置 applicationContext.xml 的位置的用设置的话 服务器启动时会找 /WEB_INF/applicationContext.xml 的文件,启动后会找 classes目录下的applicationContext.xml。
注意:在项目代码中的 /WEB_INF/classes 目录下放任何东西都是没有用的 BAE 会把src目录下的文件编译后复制到 真正的应用运行的目录里。
7.配置 duapp-web.xml :
<?xml version="1.0" encoding="utf-8"?>
<du-web-app xmlns="http://bae.baidu.com/java/1.0">
<sessions-enabled>true</sessions-enabled>
<static-files>
<include path="/**.html" expiration ="access 1 months" />
</static-files>
</du-web-app>

其中

<sessions-enabled>true</sessions-enabled>

用来启动分布式Session,不做这个设置的话默认是禁用Session功能的,一旦使用Session就会报错。

上一篇:[译]15个关于Chrome的开发必备小技巧


下一篇:互联网+ 何人能挡?带着你的Code飞奔吧!