`

SSH2项目构建过程

阅读更多
今天简述一下一个用户登录,注册,以及管理的一个ssh2项目构建全过程,麻雀虽小,五脏俱全。
首先,建一个webProject,然后分别添加Struts2,Hibernate3和Spring3的支持,导入一些jar包,以及写配置文件。最重要的是几个配置文件的编写。web.xml最为重要,作为struts2和spring3的加载配置文件,要加入两个最重要的信息:
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>



	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

分别是启动加载struts2的filter和spring的listener,此时,应该可以运行了,SSH2框架搭建完毕,然后进行其他的处理。


然后建立包和类,先建com.test.bean存放javaBean文件,例如这里有一个User.java,然后创建user的action处理类的包,可以叫做com.test.action.user,在其中建立SaveUserAction这个类,继承ActionSupport,进行存储用户。在这个类中有私有成员变量User,和其setter/getter,还有execute()方法,其中还有一个重要的类型UserService,由其处理请求,UserService又依赖于UserDAO的底层接口,由其实现类操纵数据。
定义Service包,com.test.service包,其下只定义接口UserService。
然后定义其实现类,同样一个包:com.test.service.impl,其中定义实现类UserServiceImpl,实现UserService
而实现类,是依赖于DAO来实现底层操作,所以还要建com.test.dao,其下也只定义接口,叫UserDAO
再建立dao的实现类,先建包com.test.dao.impl,其中建立UserDAOImpl实现UserDAO
接口
目录结构大体如此,结构非常清晰。
另外,如果有必要,还要构建util包,处理字符串操作,日期类型操作以及常量字符串保存等
然后开始进行一个业务的流程,首先在UserDAO中编写一个方法
public void saveUser(User user);
此处只是声明,由其impl实现类实现,在UserDAOImpl中还要继承extends HibernateDaoSupport,就可以使用hibernateTemplate了,然后写具体实现类:
public void saveUser(User user){
		this.getHibernateTemplate().save(user);
	}
这就已经直接操作数据库了,在最底层,有hibernate框架提供。
可以操纵数据之后,就在Service中进行逻辑操作了,同样定义save(User user)的类,由其impl来实现,首先定义一个public UserDAO userDao;变量,生成setter/getter,然后就覆盖saveUser方法,很简单
public void save(User user){
XXXXX有必要的话在此写处理的逻辑
		this.userDao.saveUser(user);}

然后就是在Action里面进行操作了,要用userService,就要定义这样一个变量,然后生成setter/getter,在execute中调用userService的方法即可:this.userService.save(this.user);接下来return SUCCESS及完毕。
完后就开始配置文件的写入:
先从applicationContext.xml开始:
先配置DataSource:
<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:3306/ssh2</value>
		</property>

		<property name="username">
			<value>root</value>
		</property>

		<property name="password">
			<value>root</value>
		</property>

	</bean>

然后是sessionFactory,hibernate的Users.hbm.xml文件
<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

		<property name="dataSource">
			<ref local="dataSource" />
		</property>

		<property name="mappingResources">
			<list>
				<value>com/test/bean/User.hbm.xml</value>
			</list>
		</property>

		<property name="hibernateProperties">

			<props>

				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="hibernate.show_sql">true</prop>

			</props>

		</property>

	</bean>

在其中配置DAO的bean,注意配置成scope=singleton,以为它是无状态的,还要注入sessionFactory。然后配置service的,注入dao的bean,依然是scope=singleton。然后就是最高层的Action的bean,注入service的bean。spring的配置文件就结束了,注意是一层一层注入的。
然后就是配置struts2的配置文件,很简单的一些配置就可以满足。
分享到:
评论

相关推荐

    ssh2项目

    理解并熟练掌握SSH2项目中的这些技术和组件,对于Java Web开发人员来说是非常重要的,它们能帮助开发者构建出高效、稳定且易于维护的系统。在实际开发过程中,还需要关注安全性、性能优化以及与其他技术的集成,例如...

    appfuse2.0.2 Struts2 hibernate Spring 构建的基于SQLServer2005 的ssh2项目的过程全记录

    appfuse2.0.2 Struts2 hibernate Spring 构建的基于SQLServer2005 的ssh2项目的过程全记录 网上很多帖子介绍appfuse2构建过程的,但是基于SQLServer2005的没有,顶多一笔带过,另外对于期间出现的各种问题也没有个说明,...

    ssh2框架练习项目及代码

    "BBS.pdf"可能是相关的教程或参考文档,详细讲解了如何构建一个基于SSH2的论坛系统,涵盖了从设计模型、实现业务逻辑到部署上线的全过程。 通过深入研究这些资料,你可以掌握SSH2框架的基本用法,了解如何在实际...

    SSH项目构建

    SSH项目构建是Web开发中的一种经典技术栈,它由三个主要框架组成:Struts2、Hibernate4和Spring4。这个组合常被用于构建基于Java的、企业级的、MVC模式的Web应用。下面我们将详细探讨这三个框架以及如何将它们整合在...

    Maven构建ssh项目实例

    POM包含了项目的配置信息,如依赖、构建目标、构建过程等。Maven通过中央仓库下载项目所需的库文件,极大地简化了项目的构建和维护。 SSH框架中,Spring是全面的轻量级应用框架,提供了IOC(Inversion of Control,...

    构建基于Maven的SSH原型项目

    使用Maven,开发者可以很容易地下载所需的库,编译源代码,运行测试,打包,部署等,大大简化了项目的构建过程。 SSH框架组合中,Struts2是用于处理用户请求和控制应用程序流程的MVC(Model-View-Controller)框架...

    网络商城系统 SSH2项目

    《网络商城系统SSH2项目详解》 在信息技术领域,尤其是Java Web开发中,SSH2(Struts2、Spring、Hibernate)框架的组合被广泛应用。这个名为"网络商城系统SSH2项目"的案例,是一个深入实践的JAVA WEB项目,旨在帮助...

    SSH2项目整合

    SSH2项目整合通常指的是将SSH2协议与其他技术如Spring、Struts和Hibernate(通常简称为SSH)进行集成,以构建更强大的企业级应用。 **Spring框架** 是一个开源的应用框架,主要用于简化Java企业级应用程序的开发。...

    MyEclipse8.0构建SSH2框架指南.doc

    ### MyEclipse 8.0 构建 SSH2 框架指南 #### 一、概述 SSH2框架,即Struts2 + Spring + Hibernate框架的组合,是Java Web开发中常用的轻量级框架组合之一。本文档旨在指导开发者如何使用MyEclipse 8.0集成开发环境...

    trilead-ssh2 for java

    综上,Trilead SSH2为Java开发者提供了强大且易用的SSH2实现,通过掌握其核心概念和使用方法,我们可以构建出安全、可靠的远程操作应用。结合提供的文档和示例,开发者可以迅速融入SSH2的世界,提升项目的安全性和...

    ssh2项目练手_购物网站

    在SSH项目中,Spring主要负责管理Bean,包括Struts2的Action和Hibernate的SessionFactory,确保对象的创建和生命周期管理。此外,Spring还提供事务管理,确保在购物过程中涉及的数据库操作的原子性和一致性。 3. **...

    ssh2jar包ssh2框架jar包

    1. **添加依赖**:将SSH2框架的jar包引入到项目中,通常是通过Maven或Gradle等构建工具来管理依赖。 2. **建立连接**:创建SSHClient实例,设置主机地址、端口号、用户名和认证方式(密码或密钥)。 3. **连接与...

    IntelliJ IDEA 12.0搭建Maven Web SSH2架构项目示例

    总结来说,通过IntelliJ IDEA 12.0搭建Maven Web SSH2架构项目,需要熟悉Maven的项目构建、SSH2框架的使用以及IntelliJ IDEA的相关配置。这个过程不仅涉及到技术的实践,也包括了项目管理和团队协作的理解,对于提升...

    VC2008中使用LibSSH2搭建SSH2开发环境

    libssh2是一个C语言实现的SSH2协议客户端库,它提供了丰富的API,能够帮助开发者构建跨平台的SSH2应用。本篇将详细介绍如何在Visual C++ 2008(VC2008)中配置libssh2库,搭建SSH2开发环境。 ### 一、libssh2库简介...

    ssh 简单实用的ssh项目

    在这个“ssh简单实用的ssh项目”中,我们将探讨SSH的基本概念、配置以及其在实际应用中的使用。 SSH的核心功能是加密网络通信,确保数据传输过程中的隐私和完整性。它通过公钥/私钥对进行身份验证,增强了安全性。...

    ssh2所需要的全部jar包

    开发者在构建SSH2相关的Java项目时,需要这些jar包来支持SSH连接、安全通信以及相关的操作。 描述中的“我自己整理的ssh2框架需要的jar包”表明,这是一份个人整理的SSH2框架所需的库集合,可能是从不同来源搜集并...

    基于MyEclipse的SSH2框架构建

    ### 基于MyEclipse的SSH2框架构建详解 #### 搭建环境与步骤概述 本篇文章将详细介绍如何在特定环境下利用MyEclipse构建SSH2(Struts2 + Spring + Hibernate)框架。SSH2框架是Java Web开发中常用的MVC架构之一,...

    MAVEN+SSH简单项目demo实例

    在SSH项目中,Spring负责管理Bean,包括Struts2的Action、DAO、Service等,通过配置文件(如beans.xml)进行管理。此外,Spring还能够与Hibernate集成,提供事务管理。 **3. Hibernate:持久层** Hibernate是一个...

    简要SSH2项目

    5. **开发过程**: 开发一个SSH2项目通常包括以下步骤: - 配置环境:安装JDK、Tomcat服务器,导入Struts2、Spring和Hibernate的库。 - 设计数据库模型:创建实体类和对应的映射文件。 - 配置Spring:定义Bean,...

Global site tag (gtag.js) - Google Analytics