本文不关心必须的JAR包,这个东东在网上能够找到很多,本文只关心如何配置,才能够让STRUTS SPRING HIBERNATE和MYSQL相关连。
开发环境:wsad5.1
Spring-Version: 1.1.4
Struts Framework 1.1
Hibernate-Version: 2.1.7
Blog.Ad0.Cn
-------- -------------------------
<web.xml>
-------- -------------------------
程序代码
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web- app_2_3.dtd"> <web-app id="WebApp"> <display- name>MVC_BPEL_MODELWeb</display-name> <context- param> <param- name>contextConfigLocation</param-name> <param- value>/WEB- INF/Hibernate_Context.xml</param-value> </context- param> <servlet> <servlet- name>SpringContextServlet</servlet-name> <servlet- class>org.springframework.web.context.ContextLoaderServlet</servlet-class> <load-on- startup>1</load-on-startup> </servlet> <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> <init- param> <param- name>debug</param-name> <param- value>2</param-value> </init- param> <init- param> <param- name>detail</param-name> <param- value>2</param-value> </init- param> <init- param> <param- name>validate</param-name> <param- value>true</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> <welcome-file- list> <welcome- file>index.html</welcome-file> <welcome- file>index.htm</welcome-file> <welcome- file>index.jsp</welcome-file> <welcome- file>default.html</welcome-file> <welcome- file>default.htm</welcome-file> <welcome- file>default.jsp</welcome-file> </welcome-file- list> <taglib> <taglib- uri>/WEB-INF/struts- bean.tld</taglib- uri> <taglib- location>/WEB- INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib- uri>/WEB-INF/struts- html.tld</taglib- uri> <taglib- location>/WEB- INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib- uri>/WEB-INF/struts- logic.tld</taglib- uri> <taglib- location>/WEB- INF/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib- uri>/WEB-INF/struts- nested.tld</taglib- uri> <taglib- location>/WEB- INF/struts-nested.tld</taglib-location> </taglib> <taglib> <taglib- uri>/WEB-INF/struts- template.tld</taglib -uri> <taglib- location>/WEB- INF/struts-template.tld</taglib-location> </taglib> <taglib> <taglib- uri>/WEB-INF/struts- tiles.tld</taglib- uri> <taglib- location>/WEB- INF/struts-tiles.tld</taglib-location> </taglib> </web- app>
-----------------------------------
<action-servlet.xml>
------------------------------------------------------------ ----------
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean name="/User" class="com.yaya.action.UserAction" singleton="false"> <property name="userManager"> <ref bean="userManager" /> </property> </bean> </beans>
<hibernate_context.xml>
--------------------------------------------------------- -----------
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring- beans.dtd"> <beans> <!-- <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value>< /property> <property name="prefix"><value>/WEB-INF/jsp/</value></property> <property name="suffix"><value>.jsp</value></property> </bean> --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy -method="close"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost/pdm</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value></value> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> <property name="dataSource"> <ref local="dataSource" /> </property> <property name="mappingResources"> <list> <value>hbm_tb/Tsysuser.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <!-- Spring的数据访 问异常转换器(Data Access Exception Translator)定义 -- > <bean id="jdbcExceptionTranslator" class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator"> <property name="dataSource"> <ref bean="dataSource" /> </property> </bean> <bean id="userDao" class="com.yaya.service.dao.hibernate.UserHibernateDao"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <bean id="userManagerTarget" class="com.yaya.service.spring.UserManagerImpl"> <property name="userDao"> <ref local="userDao" /> </property> </bean> <bean id="userManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="target"> <ref local="userManagerTarget" /> </property> <property name="proxyTargetClass"> <value>true</value> </property> <property name="transactionAttributes"> <props> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="find*">PROPAGATION_REQUIRED</prop> <prop key="remove*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> </beans>
-------------------------------------------------------------------
<struts-config.xml> Ad0.Cn
------------------------------------------------ -------------------
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts- config> <!-- 数据源 --> <data- sources></data- sources> <!-- 表单 Bean --> <form- beans> <form-bean name="UserActionForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name="user" type="com.yaya.hb.Tsysuser" /> </form- bean> </form- beans> <!-- 全局异常 --> <global- exceptions></global-exceptions> <!-- 全局转发 --> <global- forwards></global -forwards> <!-- 操作映射 --> <action- mappings> <action path="/User" type="org.springframework.web.struts.DelegatingActionProxy" name="UserActionForm" scope="request" parameter="method" validate="false"> <forward name="list" path="/userlist.jsp" /> <forward name="edit" path="/userform.jsp" /> </action> </action- mappings> <!-- 消息资源 --> <message-resources parameter="mvc_bpel_modelweb.resources.ApplicationResources" /> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/action-servlet.xml" /> </plug- in> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/> </plug- in> </struts- config>
------------------------------------------------------------------
UserHibernateDao.java Ad0.Cn
------------------------------------------------ ------------------
/*
* 创建日期 2005-4-7
*
* 更改所生成文 件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
* 创建日期 2005-4-7
*
* 更改所生成文 件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package com.yaya.service.dao.hibernate; import java.util.List; import org.springframework.orm.ObjectRetrievalFailureException; import org.springframework.orm.hibernate.support.HibernateDaoSupport; import net.sf.hibernate.HibernateException; import com.yaya.hb.Tsysuser; import com.yaya.service.dao.IUserDao; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /**//** * @author Administrator * * 更改所生成类型注释的模板为 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释 */ public class UserHibernateDao extends HibernateDaoSupport implements IUserDao ...{ private Log log = LogFactory.getLog (UserHibernateDao.class); /**//* (非 Javadoc) * @see com.jandar.dao.IUserDAO#getUsers() */ public List getUsers() ...{ return getHibernateTemplate().find("from Tsysuser"); } /**//* (非 Javadoc) * @see com.jandar.dao.IUserDAO#getUser(java.lang.Long) */ public Tsysuser getUser(String username) ...{ // TODO 自动生成方法存 根 if (this.getHibernateTemplate() == null) ...{ System.out.println ("error at there"); return null; } Tsysuser user = (Tsysuser) getHibernateTemplate().get(Tsysuser.class,username); //Tsysuser user = (Tsysuser) getHibernateTemplate().find("from Tsysuser users where users.username = 'admin'",username); if (user == null) ...{ throw new ObjectRetrievalFailureException (Tsysuser.class, username); } return user; //String msg = getHibernateTemplate().get(Tsysuser.class,username).toString(); //Tsysuser user = (Tsysuser) getHibernateTemplate().find("from Tsysuser where username = ?",username); //System.out.println(user.getUserdesc()); //System.out.println(user.getHeadship()); //return user; } /**//* (非 Javadoc) * @see com.jandar.dao.IUserDAO#saveUser(com.jandar.model.User) */ public void saveUser(Tsysuser user) ...{ log.debug("xxxxxxx"); System.out.println ("yyyy"); getHibernateTemplate().saveOrUpdate(user); if (log.isDebugEnabled()) ...{ log.debug("username set to " + user.getUsername()); } } /**//* (非 Javadoc) * @see com.jandar.dao.IUserDAO#removeUser(java.lang.Long) */ public void removeUser(String username) ...{ Object user = getHibernateTemplate().load(Tsysuser.class, username); getHibernateTemplate().delete(user); if (log.isDebugEnabled()) ...{ log.debug("del user " + username); } } }
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 电脑配置手册 (8385篇文章)
- 服务器配置专栏 (10960篇文章)
- Spring开源框架技术 (672篇文章)
- Hibernate原理与配置 (359篇文章)
- Struts框架应用专题 (471篇文章)
- Spring开发技术篇 (295篇文章)
- Hibernate原理与配置 (33篇文章)
- Hibernate高级特性 (63篇文章)
- Hibernate相关文章 (359篇文章)
- Struts实际应用篇 (85篇文章)
- J2SE综合:浅谈java程序发布之 jre 篇 (11次浏览)
- JAVA代码中使用魔法数值 (8次浏览)
- Hibernate缓存管理 (6次浏览)
- JAVA代码应该流畅和结构化 (5次浏览)
- Java JVM设置对性能的影响 (4次浏览)
- 开发框架:深入了解 Struts Validator (3次浏览)
- Java中的通信机制及与C/C API的集成 (1次浏览)
- 用Hibernate实现领域对象的自定义字段 (1次浏览)
- Java语言入门 简述Java语言回收机制 (0次浏览)
- 2008年Java开发者最迫切的五个期望 (0次浏览)



