两年之前,做过酒店网管,做过KTV技术支持,如今又从新回到了学习的专业上来,再次学习SSH,这次是使用的Struts2
1.前言:(很重要,我认为是基础)
典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。
表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。
中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。
Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。
Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。
DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。
PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。
Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。
2.Struts2+hibernate+Spring整合实例
觉得应该最后添加的是Spring,但又由于Struts2,只需要导入包,在新建一个Struts.xml配置文件就可以,所以,Struts2和Hibernate都交给Spring管理
web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<!-- 过滤所有的url请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="user" extends="struts-default">
<action name="savePerson" class="savePerson">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.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://localhost:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
<property name="maxActive" value="100"></property>
<property name="maxIdle" value="30"></property>
<property name="maxWait" value="500"></property>
<property name="defaultAutoCommit" value="true"></property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/wzx/bean/Person.hbm.xml</value>
</list>
</property>
</bean>
<bean id="personDao" class="com.wzx.dao.impl.PersonDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="personService" class="com.wzx.service.impl.PersonServiceImpl">
<!-- property name值是在Action中声明的 -->
<property name="personDao" ref="personDao"></property>
</bean>
<bean id="savePerson" class="com.wzx.action.SavePerson">
<property name="service" ref="personService">
</property>
</bean>
</beans>
由于其他的代码太多,就不贴出来了,整个实例可以和我要,我也是刚学,记录下来的,哈哈
分享到:
相关推荐
本教程将详细讲解2016年SSH框架整合时使用注解的方式,以提高开发效率并降低配置复杂度。 1. **Struts2**:作为MVC框架,Struts2负责处理HTTP请求,调度控制流程,并将结果返回给用户。在2016年的版本中,Struts2...
这个"SSH模型2017年8月2日"可能是某个特定版本或更新的集合,包含了SSH协议相关的配置、工具或者安全更新。在2017年的这个时间点,SSH可能已经经历了一些重要的发展和改进,以应对不断演变的安全威胁。 SSH主要用于...
自从前些日子发布了如何整合JBPM4.4+ssh2后,有些朋友问我有没有一个完整一点的实例,我看过贩卖你的jbpm的教程,我就参考那个请假的实例把它改装成ssh2版的吧。顺便也加入了模拟不同的角色登陆后能接到不同的待办...
SSH2是Java开发中常用的三大框架的简称,分别代表Struts2、Spring和Hibernate。这三个框架在企业级应用开发中有着广泛的应用,帮助开发者构建高效、可维护的Web应用程序。下面将详细介绍这三个框架的主要功能、用途...
SSH1和SSH2是SSH协议的不同版本,分别在1995年和1999年发布。SSH1主要基于RSA公钥加密算法,而SSH2则引入了更多的加密算法选择,如DSA、ECC等,安全性更高。SSH2还改进了身份验证和密钥交换机制,进一步增强了安全性...
SSH网上商城2018是一个基于SSH(Struts2、Spring、Hibernate)技术栈开发的电子商务平台项目。这个系统在2018年4月左右完成,提供了完整的网上购物功能,包括用户管理、商品浏览、购物车、订单处理等核心模块,适合...
ganymed-ssh2-build210 jar包 java连接ssh远程主机 Ganymed SSH-2 for Java是用纯Java实现SSH-2协议的一个...官网地址为 http://www.ganymed.ethz.ch/ssh2/ 可以看到最后的更新日志为2006年,是比较古老的一个工具了。
SSH是Java Web开发中常用的三大框架的组合,包括Struts2、Hibernate和Spring。这个SSH开发包集合了这三个框架的核心库,为开发者提供了一站式的解决方案,方便进行MVC(模型-视图-控制器)架构的Web应用开发。 **...
SSH框架是Java Web开发中的一个经典组合,由Spring、Struts和Hibernate三个开源框架集成,常用于构建企业级应用。这个“商贸项目SSH框架实现代码”提供了完整的源码,对于学习和理解SSH框架的工作原理及实际应用具有...
SSH协议最初由Tatu Ylönen在1995年创建,设计目标是取代传统的telnet和rlogin等不安全的远程登录协议。SSH协议有两层:SSH传输层和SSH连接层。传输层主要负责加密和认证,连接层则处理多个并发的应用程序会话。 ...
### Java之SSH深入浅出——精简剖析 #### 一、Struts框架概述 ##### 1.1 Struts起源与发展历程 ...希望通过本文的学习,读者能够更好地理解和掌握SSH框架的技术要点,为今后的实际项目开发奠定坚实的基础。
标题“Test-SSH2-Model-2012”指的是一个基于SSH2(Struts2、Spring3和Hibernate3)框架的项目模型,这个模型创建于2012年。SSH2是Java开发中常见的MVC(Model-View-Controller)架构的组合,用于构建高效、灵活的...
【标题】"Y2SSH课程包文件"是一个与IT教育培训相关的资源集合,主要针对的是ACCP5.0版本的学习者,特别关注SSH(Struts、Spring、Hibernate)三大框架的集成应用。SSH是Java Web开发中常用的一个技术栈,它能够帮助...
SSHA整合是Java Web开发中一个经典的架构组合,由Spring、Struts、Hibernate和Ajax这四个核心技术构成。这个组合在过去的几年中广泛应用于企业级应用系统,为开发人员提供了高效、灵活的解决方案。 1. Spring:...
这款软件提供了一种安全的方式来远程访问和管理Windows服务器,支持多种SSH协议,包括SSH1、SSH2以及SFTP。在2018年5月,官方发布了7.42版本,作为当时最新的稳定版本,它包含了多项性能优化和安全性更新,确保用户...
SSH框架是Java Web开发中的一个经典组合,它由Spring、Struts和Hibernate三个开源框架组成。这个框架组合在早期的Web应用开发中被广泛使用,提供了强大的功能和良好的可扩展性。在这个“图书管理系统”项目中,SSH...
RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因此得名RSA。它基于大数因子分解的计算难度,确保只有拥有正确私钥的用户才能解密通过公钥加密的信息。在SSH中,RSA用于生成...
**SSH工具MobaXterm详解** MobaXterm是一款强大的SSH客户端工具,尤其适用于IT专业人员和程序员。它集成了多种远程网络工具,包括SSH、RDP、VNC、FTP、SFTP等,使得用户可以在Windows操作系统上方便地管理远程...
这个"ssh的空框架示例含JAR包"是个人整合的基础项目,虽然在2015年4月12日时还未完全完善,但它提供了SSH三大框架的基本结构和配置,对于初学者或开发者快速搭建项目骨架具有一定的参考价值。 **Struts2** 是一个...