一.搭建环境:
1.导入spring包
(2.5的和2.0不一样的是得多导一个包,dist/modules/spring-webmvc-struts.jar)
DelegatingActionProxy在这个包里
2.因为spring已经导入了hibernate需要的其他的包,在这只需导入hibernate3.jar
3.导入struts相应的包,经测试struts1.3.0里要把所有与spring不冲突的包都导进来,不然会提示错误,原因待测试。
二.编码
User.java,UserDao.java(UserDaoHbImpl.java),UserBiz.java(UserBizImpl)
三.配置
1. 引入hibernate
在ApplicationContext.xml里配置hibernate必须的sessionFactory,
(1) dataSource,这里采用apache的dbcp
,也可以使用别的数据源。
(2) sessionFactory,在以前的hibernate.cfg.xml中要配置的内容现在全部转移到这个bean的配置中来了,包括数据源,hibernate
的相关属性以及映射文件源。
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="hibernateProperties"> <props> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop> </props> </property> <property name="mappingResources"> <list> <value>com/rainhat/shopping/entity/User.hbm.xml</value> </list> </property> </bean>
(3) template,spring为hibernate提供的一个dao层模板。
2. 配置要使用spring的IOC创建的bean,比如dao,biz对象。以及spring的事务管理配置
3. 引入struts,以及对spring的ApplicationContext配置
Web.xml:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Struts-config.xml
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/action-servlet.xml,/WEB-INF/hibernate.xml"/>
</plug-in>
4. 配置User.hbm.xml和action
User.hbm.xml:
<class name="User" table="cart_user">
<id name="id" column="id">
<generator class="sequence">
<param name="sequence">seq_cart_user_id</param>
</generator>
</id>
<property name="name"/>
<property name="address"/>
<property name="postcode"/>
<property name="email"/>
<property name="home_phone"/>
<property name="cell_phone"/>
<property name="office_phone"/>
<property name="user_type"/>
</class>
在struts-config.xml和ApplicationContext.xml中配置action,注意在action的path与beanName的一至性。
Struts-config.xml中:
<action path="/a" type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="ok" path="/ok.jsp"></forward>
<forward name="error" path="/error.jsp"></forward>
</action>
ApplicationContext.xml中:
<bean name="/a" class="com.rainhat.shopping.action.MyAction">
<property name="dao" ref="dao"/>
</bean>
一.创建用户表,编写Action及所需显示层组件jsp
create table cart_user(
id integer primary key,
name varchar2(32) not null unique,
password varchar2(32) not null,
address varchar2(512),
postcode varchar2(10),
email varchar2(32),
home_phone varchar2(32),
cell_phone varchar2(32),
office_phone varchar2(32),
user_type varchar2(1)
);
CREATE SEQUENCE seq_cart_user_id;
二.部署到tomcat,测试


被折叠的 条评论
为什么被折叠?



