SSH整合流程
1、 建立一个web工程,配置到tomcat上,启动服务器,打开首页,看最简单的web项目是否成功,如果打开成功则继续
2、 添加Struts支持
首先,将Struts2的几个jar包加入到lib中
接着修改web.xml配置文件,假如struts支持
然后添加struts.xml文件到src路径下
接着将struts的spring插件添加到lib中
此时该项目已经支持Struts并且做好了整合Spring的准备
3、 添加Hibernate支持
在Myeclipse中选中项目,点击MyEclipse—Project Capabilities—Add Hibernate Capabilities,勾选前两个就可以。
注意在下面JAR Library Installation选中第二项,把这些程序库拷贝到项目的lib目录下.
如下图所示:
点击next,此目录选默认选项即可:
点击next,去掉勾选Specify database connection details:
点击next,去掉勾选Create SessionFactory class:
点击Finish。如果弹出一个窗口提示logging等jar包已存在,可点击Keep Existing即可。
到此,项目已经基本支持Hibernate
4、 添加Spring支持
依然是选中项目,点击MyEclipse—Project Capabilities—Add Spring Capabilities,
在选项卡中,勾选AOP、Core、Persistence Core和Web Libraries
在JAR Library Installation处选择下面的Copy…,意思是将Jar包考到lib目录下
点击next,如下图
点击next后,选项卡的界面如下面第一个图所示
这里需要做一些改动,第一个不要勾选,第二个将配置文件的目录换掉,不放到src路径下,而是放到WEB-INF 路径下,之后点击next,如第二个图所示
点击了next之后进入到下一个选项卡,什么都不用勾选,将勾选的去掉,点击Finish,如下图所示
接下来在web.xml中添加Spring监听器,用来在web项目启动时加载Spring
其代码很简单,如下:
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
此时Spring基本加载完毕。
到此已经将Struts2.1.6、Hibernate3.3、Spring3.0基本整合起来,但是还没有结束,还要添加数据库驱动jar包等。
5、 添加数据库支持
将commons-dbcp.jar 和commons-pool.jar添加到lib目录下,以支持数据源配置
另外还需要数据库驱动文件,如使用MySql数据库,则需要mysql-connector-java-5.0.3-bin.jar (或其他版本)的jar包;如使用SqlServer则需要添加sqlserver相关的驱动jar包
6、 配置applicationContext.xml。配置数据库连接池什么的,这里有个sqlserver的配置例子,在最后附上。
7、 到此,SSH就整合完毕了,期中一定要注意细节,很容易出错,出错后要仔细查看异常信息看错在哪,然后慢慢排查解决
8、 附:applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>net.sourceforge.jtds.jdbc.Drive</value>
</property>
<property name="url">
<value>jdbc:jtds:sqlserver://localhost:1433/db_vote</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value>mks</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>com/vote/bean/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="hibernate.show_sql">
true
</prop>
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory">
</property>
</bean>
<!-- Dao配置 -->
<!-- Dao配置 -->
<!-- Service配置 -->
<!-- Service配置 -->
<!-- Action配置 -->
<!-- Action配置 -->
</beans>