`

Struts2、Hibernate、spring整合过程总结

阅读更多
Struts2、Hibernate、spring整合过程总结

相关配置版本:jdk1.5,Tomcat 6.0 ,  Myeclipse7.0

1.打开MyEclipse,创建一个web project项目,输入项目名,如mytest,下面的J2EE Specification Level选择“Java EE 5.0”,然后finish.

2.将项目部署到Tomcat里,有三种方法,
第一种:映射到Tomcat的server.xml配置文件里。找到Tomcat的安装文件,进去找到conf\server.xml,打开该文件,在下面加上这样一句话:<Context  path="/mytest" docBase="E:\sshDemo\sshtest1\demo1\mytest\WebRoot"  reloadable="true"/>
一个Context代表一个Web项目,Path值要是唯一的。红色表示你的项目路径,可以右击项目mytest属性,Location的值就是项目路径。

第二种:在myEclipes里找到servers,找到自己配的servers,右击选择Manage Developtments,"add",讲要运行的项目名称加进来。OK!

部署完毕!

3.配置Myeclipse到Tomcat的映射,需要配置JDK和Myeclipse。
(1)配置JDK:点击Myeclipse的Window -> preferences -> 左边java –>Installed  JREs,去掉Myeclipse自带的JDK,加上我们自己的JDK。
(2)配置Myeclipse: 点击Myeclipse的Window -> preferences -> 左边Myeclipse ->Services ->Tomcat ->Tomcat 6.x ->JDK->将之前配置的JDK加上去。完成后退出到之前页面,配置Tomcat,加上Tomcat的安装路径。将右边的Tomcat Server选为Enable。
(3)将Myeclipse自带的Tomcat禁用掉:点击Myeclipse的Window -> preferences -> 左边Myeclipse -> Services->Integrated Sandbox->Myeclipse Tomcat 6->将右边的Tomcat Server选为Disable。

下面开始三大框架的整合!

4.先添加Hibernate的支持
选中项目,右击—>Myeclipes —>Add Hibernate Capabilities—>选择最高版本Hibernate 3.1或Hibernate 3.2—>JAR Library Installation一定要选择下面的Copy checked Library Jars to project folder and add to build-path—>next —>next—>进入数据库配置页面,我们选择用Spring配置Hibernate的相关信息,不在此配置,所以把Specify database connection details前面的勾去掉。next —>去掉Create SessionFactory class前面的勾,finish!

5.添加Spring的支持
选中项目,右击—>Myeclipes —>Add Spring Capabilities—>版本选择Spring 2.0—>添加前四个jar文件,和Spring2.0 Web Libraries.总共5个库。—>同Hibernate,JAR Library Installation一定要选择下面的Copy checked Library Jars to project folder and add to build-path。—>next —>Folder改为webRoot/WEB-INf.—>next,把勾去掉—>finish!

6.添加Struts2的支持(需要我们手动添加)
找到struts2的资源文件,到lib文件里找到五个jar文件:
(1)freemarker-2.3.8.jar
(2)ognl-2.6.11.jar
(3)struts2-core-2.0.11.jar
(4)struts2-spring-plugin-2.0.11.jar
(5)xwork-2.0.4.jar
复制这五个jar ,粘贴到WEB-INF/lib下。

7.在src下新建一个struts.xml文件,格式为:
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
.......
</struts>

8.配置web.xml文件,格式为
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
</filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

9.下面开始正式编码
在数据库里建好表。
创建jsp页面,

创建持久化类如User,要有无参构造函数,因为Hibernate必须使用Java反射机制来为你创建对象。

然后创建映射文件User.hbm.xml格式为:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
   
<hibernate-mapping>
<class
    name="com.simlink.emr.data.ho.Users"
    table="users"
>
    <id
        name="id"
        type="java.lang.Integer"
    >
        <generator class="increment" />
    </id>

    <property
        name="brxm"
        type="java.lang.String"
        column="BRXM"
        length="50"
    />
    <property
        name="age"    
    />
//如没有设置type属性,Hibernate会自己试着去确定正确的转换类型和它的映射类型

</class>
</hibernate-mapping>

10.然后创建相应的Dao(接口和实现类),实现类还要继承自HibernateDaoSupport类。

创建Service(接口和实现类),

创建Action,继承自ActionSupport类(com.opensymphony.xwork2.ActionSupport),重写execute()方法。

11.填写struts.xml文件<struts>
<package name="user" extends="struts-default">

<action name="saveUser" class="saveUserAction">
<result name="success" type="redirect">listUser.action</result>
<result name="input">/save.jsp</result>
</action>

<action name="listUser" class="listUserAction">
<result>/list.jsp</result>
</action>
</package>
</struts>

12.配置applicationContext.xml文件,格式如下
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<!-- dataSource config -->
        <property name="driverClass" value="com.ibm.db2.jcc.DB2Driver"/>
        <property name="jdbcUrl" value="jdbc:db2://192.168.130.26:50000/srm"/> --srm为数据库名称
        <property name="user" value="db2admin"/>
        <property name="password" value="SIMLINK123"/>
        <property name="initialPoolSize" value="2" />
        <property name="minPoolSize" value="2" />
        <property name="maxPoolSize" value="4" />
        <property name="checkoutTimeout" value="10000" />
        <property name="maxIdleTime" value="3600" />
</bean>

<!-- SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>

<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.DB2Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>

<property name="mappingResources">
<list>
<value>com/simlink/emr/data/ho/Users.hbm.xml</value>
</list>
</property>
</bean>

<bean id="usersDao" class="com.simlink.emr.data.dao.users.UsersDao" scope="singleton">
      <property name="sessionFactory">
        <ref bean="sessionFactory" />
      </property>
    </bean>
   
    <bean id="usersService" class="com.simlink.emr.service.users.UsersService">
        <property name="usersDao" ref="usersDao"></property>
    </bean>
<bean id="saveUserAction" class="com.simlink.emr.action.user.SaveUserAction" scope="prototype">
    <property name="service" ref="usersService"></property>
    </bean>

大功告成!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics