SSH整合
最近没怎么手头上没什么事情,不过我感觉也是好事,毕竟一直忙碌刀会钝的。
所有最近收刀,静心磨刀,不为外面的什么各种项目所迷惑。收收心,毕竟磨刀不误砍柴工。总结下Spring整合Struts2和Hibernate。
上篇总结了Spring整合Struts2这次我把Hibernate加了进来,Spring这个非常强大的框架也是真真正正的算得上有个有艺术品位的框架,IOC和AOP完美结合,不仅仅可以用在WEB上面在其他的平台下运用也是非常的广泛。
下面开始做帖代码,这个例子实现了一个登陆和注册模块,用SSH做的一个简单的整合。
第一步建好一个web工程后添加jar包:
然后在WEB-INF下面创建applicationContext.xml用来配置Spring容器:
<?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:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"> <!-- 注册接口实现类 --> <bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8"></property> <property name="username" value="root"></property> <property name="password" value="root"></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.MySQL5Dialect </prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> <property name="mappingResources"> <list> <value>/com/zdx/domain/User.hbm.xml</value> </list> </property> </bean> <bean id="userDao" class="com.zdx.dao.impl.UserDaoImpl"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="loginAction" class="com.zdx.action.LoginAction"> <property name="service" ref="userService"></property> </bean> <bean id="userService" class="com.zdx.service.UserService"> <property name="userDao" ref="userDao"></property> </bean> </beans>
2.修改web.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>Spring_Struts</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- listener是Servlet的监听器,他可以监听客户端的请求、服务器端的操作等, 通过监听器,可以自动激发一些操作,如监听到在线的数量。当增加一个HttpSession时, 就激发sessionCreated()方法。监听器需要知道application.xml配置文件的位置 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
src下面创建struts.properties:
struts.objectFactory=spring
src下面创建struts.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="default" extends="struts-default"> <action name="loginAction_*" class="loginAction" method="{1}"> <result name="success">/success.jsp</result> <result name="login">/index.jsp</result> <result name="registerError">/register.jsp</result> </action> </package> </struts>
创建User.java:
package com.zdx.domain; public class User { private Integer id; private String name; private String pwd; public User() { // TODO Auto-generated constructor stub } //get、set }
配置其hbm.xml如下:
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping default-lazy="false"> <class name="com.zdx.domain.User" table="user"> <id name="id"> <generator class="native"></generator> </id> <property name="name"></property> <property name="pwd"></property> </class> </hibernate-mapping>
然后创建UserDao接口,实现类UserDaoImpl如下:
package com.zdx.dao.impl; import java.util.List; import org.hibernate.SessionFactory; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.zdx.dao.UserDao; import com.zdx.domain.User; public class UserDaoImpl extends HibernateDaoSupport implements UserDao { @Override public boolean insert(User user) { if (this.findByName(user.getName()) == null) { this.getHibernateTemplate().save(user); return true; } return false; } @Override public User findByName(String name) { User user = null; List<User> list = this.getHibernateTemplate().find( "from User where name=?", name); if (list.size() > 0) { user = list.get(0); } return user; } }
业务逻辑类UserService如下:
package com.zdx.service; import com.zdx.dao.UserDao; import com.zdx.domain.User; public class UserService { private UserDao userDao; public boolean register(User user){ return this.userDao.insert(user); } public User login(User user){ return this.userDao.findByName(user.getName()); } public UserDao getUserDao() { return userDao; } public void setUserDao(UserDao userDao) { this.userDao = userDao; } }
控制层LoginAction如下:
package com.zdx.action; import com.opensymphony.xwork2.ActionSupport; import com.zdx.domain.User; import com.zdx.service.UserService; public class LoginAction extends ActionSupport { private User user; private UserService service; @Override public String execute() throws Exception { // TODO Auto-generated method stub return super.execute(); } public String login() { User userTmp = service.login(user); if (userTmp == null) { return LOGIN; } else if (this.user.getPwd().equals(userTmp.getPwd())) { return SUCCESS; } return LOGIN; } public String register() { if (service.register(user)) { return SUCCESS; } else { return "registerError"; } } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public UserService getService() { return service; } public void setService(UserService service) { this.service = service; } }
源码下载地址:
http://pan.baidu.com/s/1pJHleyR
相关推荐
SSH整合在JavaWeb开发中是一项重要的技术组合,它包含了三个主要的开源框架:Spring、Struts和Hibernate。这些框架分别负责应用的业务逻辑管理、视图层控制和数据持久化。接下来,我们将深入探讨SSH整合的关键知识点...
SSH整合jar包是一个集合了所有在Java开发中用于Spring、Struts和Hibernate(SSH)集成应用所需的库文件的压缩包。SSH是Java企业级开发中非常流行的一种框架组合,它能够帮助开发者快速构建高效、可维护的企业级Web...
SSH整合是Java Web开发中的一种常见模式,它结合了Struts2、Spring和Hibernate三个开源框架,以实现高效、灵活的MVC(Model-View-Controller)架构。在这个"ssh整合jar包"中,包含了这三个框架的核心库和其他必要的...
SSH整合,全称为Struts2、Spring和Hibernate的整合,是Java Web开发中常见的技术栈。这三种框架分别负责表现层、业务层和持久层的管理,通过合理的整合,可以构建出高效、灵活且易于维护的Web应用。下面将详细介绍...
SSH整合是Java开发中一种常见的框架集成方式,它结合了Struts2、Spring和Hibernate三个开源框架,以实现高效、灵活的企业级应用开发。这里提到的"ssh整合所需所有架包"是一个包含这三个框架相应版本的集合,确保它们...
SSH整合是Java Web开发中常见的一个技术组合,指的是Spring、Struts和Hibernate三个开源框架的集成。Spring提供了依赖注入和面向切面编程的能力,Struts则处理MVC(Model-View-Controller)架构中的控制器部分,而...
SSH整合经典实例主要涉及到的是Java开发中的三大框架:Spring、Struts和Hibernate的集成应用,这些框架在J2EE体系中被广泛使用,为开发者提供了高效、便捷的开发环境。SSH整合是Java企业级开发中一种常见的解决方案...
SSH整合在IT行业中通常指的是Struts、Hibernate和Spring三大框架的集成应用,它们是Java Web开发中的重要组件,尤其在企业级应用系统中广泛应用。银行管理系统是一个典型的业务复杂、安全性要求高的应用场景,SSH...
SSH整合是指Spring、Struts和Hibernate这三大开源框架的集成应用。这三种框架分别负责不同的职责:Spring作为应用的管理核心,提供依赖注入(DI)和面向切面编程(AOP);Struts则主要处理MVC(模型-视图-控制器)...
SSH整合在IT行业中通常指的是Spring、Struts和Hibernate这三个开源框架的集成应用。Spring作为核心容器,负责管理对象(依赖注入DI)和事务处理;Struts则是MVC(Model-View-Controller)设计模式的实现,处理用户...
SSH整合是Java开发中一种常见的框架组合,包括Spring、Struts和Hibernate三个核心组件。Spring提供了依赖注入(DI)和面向切面编程(AOP),Struts负责MVC模式的实现,而Hibernate则是用于对象关系映射(ORM)。在这...
SSH整合是软件开发中一种常见的技术实践,主要指的是Spring、Struts和Hibernate这三大开源框架的集成应用。这个小案例提供了SSH整合的具体实现,对于项目研发具有很高的实用价值。下面我们将详细探讨SSH整合的关键...
SSH整合是指将Struts、Spring和Hibernate这三个Java开源框架结合在一起,用于构建高效、可维护的企业级Web应用程序。Struts提供了MVC(Model-View-Controller)架构,Spring强化了依赖注入和事务管理,而Hibernate则...
SSH整合是Java Web开发中的一种常见技术栈,主要包括Spring、Struts和Hibernate这三个框架的集成。这个名为"SSH整合小项目"的资源提供了一个实践示例,帮助开发者理解和掌握这三大框架协同工作的机制。 首先,...
SSH整合是Java Web开发中的一个常见实践,它指的是Struts 2、Hibernate和Spring这三大框架的集成。这个"SSH整合实例源码"提供了一种实际应用这些框架的方法,帮助开发者理解如何在项目中有效地结合它们。以下是关于...
SSH整合是指在Java Web开发中,将Spring、Struts2和Hibernate这三大开源框架进行集成,以实现高效、灵活和可扩展的业务应用。这些框架分别负责不同的职责:Spring作为核心容器,管理对象的依赖注入;Struts2是MVC...
SSH整合是软件开发中的一种常见技术,主要用于Spring、Struts和Hibernate这三大开源框架的集成。这篇文章将深入探讨SSH整合的原理以及实现步骤,帮助初学者掌握这一关键技能。 **一、SSH框架简介** 1. **Spring...