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.SQLGrammarExceptioncould 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就会报错。



                            

你可能感兴趣的:(Hibernate)