`
come_for_dream
  • 浏览: 120369 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

SSH整合

阅读更多

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

 

  • 大小: 212.7 KB
0
0
分享到:
评论
4 楼 CoderDream 2014-11-29  
不错,建议用Maven做一份,这样jar包就不用没有下载了!
3 楼 come_for_dream 2014-11-24  
源码:http://pan.baidu.com/s/1pJHleyR
2 楼 endual 2014-11-24  
挺不错的,虽然上传源码。
1 楼 jiangfuofu555 2014-11-24  
     :shock加油

相关推荐

    SSH整合Jar包

    SSH整合在JavaWeb开发中是一项重要的技术组合,它包含了三个主要的开源框架:Spring、Struts和Hibernate。这些框架分别负责应用的业务逻辑管理、视图层控制和数据持久化。接下来,我们将深入探讨SSH整合的关键知识点...

    SSH整合jar包

    SSH整合jar包是一个集合了所有在Java开发中用于Spring、Struts和Hibernate(SSH)集成应用所需的库文件的压缩包。SSH是Java企业级开发中非常流行的一种框架组合,它能够帮助开发者快速构建高效、可维护的企业级Web...

    ssh整合jar包

    SSH整合是Java Web开发中的一种常见模式,它结合了Struts2、Spring和Hibernate三个开源框架,以实现高效、灵活的MVC(Model-View-Controller)架构。在这个"ssh整合jar包"中,包含了这三个框架的核心库和其他必要的...

    ssh整合所需要的jar包

    SSH整合,全称为Struts2、Spring和Hibernate的整合,是Java Web开发中常见的技术栈。这三种框架分别负责表现层、业务层和持久层的管理,通过合理的整合,可以构建出高效、灵活且易于维护的Web应用。下面将详细介绍...

    ssh整合所需所有架包

    SSH整合是Java开发中一种常见的框架集成方式,它结合了Struts2、Spring和Hibernate三个开源框架,以实现高效、灵活的企业级应用开发。这里提到的"ssh整合所需所有架包"是一个包含这三个框架相应版本的集合,确保它们...

    SSH整合增删改查全部

    SSH整合是Java Web开发中常见的一个技术组合,指的是Spring、Struts和Hibernate三个开源框架的集成。Spring提供了依赖注入和面向切面编程的能力,Struts则处理MVC(Model-View-Controller)架构中的控制器部分,而...

    SSH整合经典实例

    SSH整合经典实例主要涉及到的是Java开发中的三大框架:Spring、Struts和Hibernate的集成应用,这些框架在J2EE体系中被广泛使用,为开发者提供了高效、便捷的开发环境。SSH整合是Java企业级开发中一种常见的解决方案...

    SSH整合 银行管理系统

    SSH整合在IT行业中通常指的是Struts、Hibernate和Spring三大框架的集成应用,它们是Java Web开发中的重要组件,尤其在企业级应用系统中广泛应用。银行管理系统是一个典型的业务复杂、安全性要求高的应用场景,SSH...

    SSH整合的jar包.zip

    SSH整合是指Spring、Struts和Hibernate这三大开源框架的集成应用。这三种框架分别负责不同的职责:Spring作为应用的管理核心,提供依赖注入(DI)和面向切面编程(AOP);Struts则主要处理MVC(模型-视图-控制器)...

    SSH整合的一个案例

    SSH整合在IT行业中通常指的是Spring、Struts和Hibernate这三个开源框架的集成应用。Spring作为核心容器,负责管理对象(依赖注入DI)和事务处理;Struts则是MVC(Model-View-Controller)设计模式的实现,处理用户...

    SSH整合例子(SSH例子)

    SSH整合是Java开发中一种常见的框架组合,包括Spring、Struts和Hibernate三个核心组件。Spring提供了依赖注入(DI)和面向切面编程(AOP),Struts负责MVC模式的实现,而Hibernate则是用于对象关系映射(ORM)。在这...

    SSH整合小案例,实用性比较强

    SSH整合是软件开发中一种常见的技术实践,主要指的是Spring、Struts和Hibernate这三大开源框架的集成应用。这个小案例提供了SSH整合的具体实现,对于项目研发具有很高的实用价值。下面我们将详细探讨SSH整合的关键...

    ssh整合所需jar包

    SSH整合是指将Struts、Spring和Hibernate这三个Java开源框架结合在一起,用于构建高效、可维护的企业级Web应用程序。Struts提供了MVC(Model-View-Controller)架构,Spring强化了依赖注入和事务管理,而Hibernate则...

    SSH整合小项目

    SSH整合是Java Web开发中的一种常见技术栈,主要包括Spring、Struts和Hibernate这三个框架的集成。这个名为"SSH整合小项目"的资源提供了一个实践示例,帮助开发者理解和掌握这三大框架协同工作的机制。 首先,...

    SSH整合实例源码

    SSH整合是Java Web开发中的一个常见实践,它指的是Struts 2、Hibernate和Spring这三大框架的集成。这个"SSH整合实例源码"提供了一种实际应用这些框架的方法,帮助开发者理解如何在项目中有效地结合它们。以下是关于...

    ssh整合 jar包

    SSH整合是指在Java Web开发中,将Spring、Struts2和Hibernate这三大开源框架进行集成,以实现高效、灵活和可扩展的业务应用。这些框架分别负责不同的职责:Spring作为核心容器,管理对象的依赖注入;Struts2是MVC...

    SSH整合原理以及步骤详解

    SSH整合是软件开发中的一种常见技术,主要用于Spring、Struts和Hibernate这三大开源框架的集成。这篇文章将深入探讨SSH整合的原理以及实现步骤,帮助初学者掌握这一关键技能。 **一、SSH框架简介** 1. **Spring...

Global site tag (gtag.js) - Google Analytics