JAVA spring+struts+hibernate整合
1. 新建Web Project
2. 配置Tomcat
a) 点击manage Deployments->Add->选择一个Server(“如果没有点Edit server –)Tomcat->配置”) 点击Finish->OK
3. 新建连接数据库
a) 选择DB myeclipce->new->选取Driver template为 Microsoft sql serser
b) 省下的自己填写(URL把“<>”号去掉)
c) 点击Add JARs引入msbase.jar、mssqlserver.jar、msutil.jar
d) 点击Test Driver测试连接成功后点Finish
e) 找到dbo->Table->下面就是表名
4. 配置hibernate
a) 右键项目->MyEclipse->Add hibernate->选择DB Driver 中的新建的数据库
b) 选择copy checked Library
c) 新建Java package 点击 New,输入包名->finish
d) 然后进入MyEclipse DB 右键数据表 选Hibernate Reverse Engineering 把Java Data Object 和Java Data Access 全勾选上 点击Finish
5. 配置struts
a) 右键项目->MyEclipse->Add struts->把yourcompany改为包名
6. 配置 spring
a) 右键项目->MyEclipse->Add spring>主要的有八个,我全选了
b) 新键一个包com.spring
c) 然后进入MyEclipse DB 右键数据表 选Hibernate Reverse Engineering
d) 选择copy checked Library
e) 选择java package包为 com.spring
f) DAO type:选择 Spring DAO ->Finish
7. 进行一个添加操作
a) 在webroot->Web-INF->struts-config.xml->双击
b) 右键->New->From,action and JSP->修改Use case
c) 在Form Properties 中点击 Add添加字段
d) 在Jsp中选中create Jsp form
e) 点击finish
f) 然后在webRoot->Web-INF->web.xml中加入
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
在Referenced Librarise中删除asm-2.2.3.jar
在applicationContext.xml中加入
<!-- 声明一个Hibernate 3的事务管理器供代理类自动管理事务用 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="SysUserDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="proxyTargetClass">
<value>true</value>
</property>
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="SysUserDAO" />
</property>
<property name="transactionAttributes">
<props>
<!-- 这里的方法签名可以精确到方法,先全配置上 -->
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
在struts.action中添加
Private sysUserDao dao; sysUserDao引入spring
然后选中右键source->Ganarete Getter
代码如下
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.zzl123.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import springzzl.SysUser;
import springzzl.SysUserDAO;
import com.zzl123.struts.form.SysuseraddForm;
/**
* MyEclipse Struts
* Creation date: 09-02-2009
*
* XDoclet definition:
* @struts.action path="/sysuseradd" name="sysuseraddForm" input="/sysuseradd.jsp" scope="request" validate="true"
* @struts.action-forward name="sb" path="/sb.jsp"
* @struts.action-forward name="cg" path="/cg.jsp"
*/
public class SysuseraddAction extends Action {
private SysUserDAO dao;
public SysUserDAO getDao() {
return dao;
}
public void setDao(SysUserDAO dao) {
this.dao = dao;
}
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
SysuseraddForm sysuseraddForm = (SysuseraddForm) form;// TODO Auto-generated method stub
SysUser user = new SysUser();
user.setUserId(sysuseraddForm.getUserid());
user.setUserName(sysuseraddForm.getUsername());
dao.save(user);
return mapping.findForward("cg");
}
}然后在applicationContext.xml中加入
<beanname="/uSerInsert"class="com.gsion.zzl.struts.action.USerInsertAction">
<property name="dao">
<ref bean="SysUserDAOProxy"/>
</property>
</bean>
在struts-config.xml文件中
<struts-config>
<data-sources />
<form-beans >
<form-bean name="sysuseraddForm" type="com.zzl123.struts.form.SysuseraddForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="sysuseraddForm"
input="/sysuseradd.jsp"
name="sysuseraddForm"
path="/sysuseradd"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="sb" path="/sb.jsp" />
<forward name="cg" path="/cg.jsp" />
</action>
</action-mappings>
<message-resources parameter="com.zzl123.struts.ApplicationResources" />
</struts-config>
在hibernate.cfg.xml
<mapping resource=””>中的hibernate去掉
可以测试一下了
请高手指教