为了方便自己在以后开发的时候查询资料,把自己下午搭的一个简单的平台写出来.
还在继续完善中.
一.spring+struts整合
1.采用委托的方式:
步骤:
<1>在web.xml中配置(方便服务器启动的时候加载配置文件,在这里没有采用插件的形式)
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/spring/*.xml</param-value>
</context-param>
ps:固定写法(如果在spring下面有文件可以写成/spring/**/*.xml)
<2>在struts-config.xml中配置代理类
<struts-config>
<action-mappings >
<action path="/test" type="org.springframework.web.struts.DelegatingActionProxy" >
<forward name="index" path="/index.jsp"></forward>
</action>
</action-mappings>
</struts-config>
ps:其中type指定的是spring的代理类
<3>在spring中配置
<bean name="/test" class="com.yourcompany.struts.action.TestAction"></bean>
ps:name的名称和path是一致的,class表示具体的action所在位置
二.spring+struts+hibernate整合.
1.在applicationContext.xml中加上
<bean id="datasource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url"
value="jdbc:oracle:thin:@192.168.1.120:1521:empolder">
</property>
<property name="username" value="sa"></property>
<property name="password" value="sa"></property>
</bean>
<bean id="sessionfactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="datasource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
</props>
</property>
<property name="mappingLocations">
<list>
<value>classpath*:com/persistence/*.hbm.xml</value>
</list>
</property>
</bean>
<bean id="TestDAO" class="com.persistence.TestDAO">
<property name="sessionFactory">
<ref bean="sessionfactory" />
</property>
</bean>
<bean name="/test" class="com.yourcompany.struts.action.TestAction">
<property name="td">
<ref bean="TestDAO"/>
</property>
</bean>
2.配置相关的实体类和hbm配置文件,并建立dao层com.persistence.TestDAO
3.把dao的相关实例注入action中,并在action中调用dao中相关数据库操作方法
<1>set方法注入(需要在TestAction中有相关的set方法)
<bean name="/test" class="com.yourcompany.struts.action.TestAction">
<!--
<property name="td">
<ref bean="TestDAO"/>
</property>
-->
</bean>
<2>构造器注入(需求有相关的构造方法)
<bean name="/test" class="com.yourcompany.struts.action.TestAction">
<constructor-arg index="0">
<ref bean="TestDAO"/>
</constructor-arg>
</bean>
注:在项目中遇到org/apache/commons/pool/impl/GenericObjectPool异常
解决办法:
解决:
到这里http://commons.apache.org/downloads/download_pool.cgi下载包,然后,把里面的commons-pool-x.jar复制到myEclipse的Referenced Libraries下.
还在继续完善中.
一.spring+struts整合
1.采用委托的方式:
步骤:
<1>在web.xml中配置(方便服务器启动的时候加载配置文件,在这里没有采用插件的形式)
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/spring/*.xml</param-value>
</context-param>
ps:固定写法(如果在spring下面有文件可以写成/spring/**/*.xml)
<2>在struts-config.xml中配置代理类
<struts-config>
<action-mappings >
<action path="/test" type="org.springframework.web.struts.DelegatingActionProxy" >
<forward name="index" path="/index.jsp"></forward>
</action>
</action-mappings>
</struts-config>
ps:其中type指定的是spring的代理类
<3>在spring中配置
<bean name="/test" class="com.yourcompany.struts.action.TestAction"></bean>
ps:name的名称和path是一致的,class表示具体的action所在位置
二.spring+struts+hibernate整合.
1.在applicationContext.xml中加上
<bean id="datasource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url"
value="jdbc:oracle:thin:@192.168.1.120:1521:empolder">
</property>
<property name="username" value="sa"></property>
<property name="password" value="sa"></property>
</bean>
<bean id="sessionfactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="datasource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
</props>
</property>
<property name="mappingLocations">
<list>
<value>classpath*:com/persistence/*.hbm.xml</value>
</list>
</property>
</bean>
<bean id="TestDAO" class="com.persistence.TestDAO">
<property name="sessionFactory">
<ref bean="sessionfactory" />
</property>
</bean>
<bean name="/test" class="com.yourcompany.struts.action.TestAction">
<property name="td">
<ref bean="TestDAO"/>
</property>
</bean>
2.配置相关的实体类和hbm配置文件,并建立dao层com.persistence.TestDAO
3.把dao的相关实例注入action中,并在action中调用dao中相关数据库操作方法
<1>set方法注入(需要在TestAction中有相关的set方法)
<bean name="/test" class="com.yourcompany.struts.action.TestAction">
<!--
<property name="td">
<ref bean="TestDAO"/>
</property>
-->
</bean>
<2>构造器注入(需求有相关的构造方法)
<bean name="/test" class="com.yourcompany.struts.action.TestAction">
<constructor-arg index="0">
<ref bean="TestDAO"/>
</constructor-arg>
</bean>
注:在项目中遇到org/apache/commons/pool/impl/GenericObjectPool异常
解决办法:
解决:
到这里http://commons.apache.org/downloads/download_pool.cgi下载包,然后,把里面的commons-pool-x.jar复制到myEclipse的Referenced Libraries下.