Spring+Struts的快速系统开发框架介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统开发框架--目录结构
\src 放的是项目源代码目录(.java文件) log4j. properties 日志配置文件 Struts-config.xml struts应用配置文件 spring配置文件目录 |--applicationContext.xml Spring公共配置文件 数据库连接配置 数据库事务管理配置
J2EE部分系统框架介绍
Struts介绍: Struts是使用 servlet 和 JavaServer Pages 技术的一种 Model-View-Controller 实现
Struts 概览 browser(客户浏览器) Client browser(客户浏览器) 请求创建一个事件。 来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容 响应作出响应。 器将用一个 HTTP 响应作出响应。 Controller(控制器) Controller(控制器) 控制器接收来自浏览器的请求, 控制器接收来自浏览器的请求,并决定将这个请求发往何 而言, 处。就 Struts 而言,控制器是以 servlet 实现的一个 命令设计模式。 struts文件配置控制器。 命令设计模式。 struts-config.xml 文件配置控制器。
代码片段1
public void greet(){ Speaker s = new Speaker(); s.sayHello(); } 不用容器的编码模式
代码片段2
public void greet() { Speaker s = (Speaker)context.lookup("ejb/Speaker"); s.sayHello(); } EJB编码模式
代码片段3
public Speaker s; public Greeting(Speaker s) { this.s = s; } public void greet() { s.sayHello(); } 注入编码模式(Spring)
使用容器的好处,由容器来维护各个类之间的依赖关系(一般通 过Setter来注入依赖,而不是构造函数)。Greeting并不需要关心 Speaker是哪里来的或是从哪里获得Speaker,只需要关注自己分内 的事情,也就是让Speaker说一句问候的话。 为什么要使用框架技术 1、框架一般是成熟,稳健的,可以无需再考虑和处理系统很多细 节问题 2、使用成熟的框架,一些基础工作已经构建完成,只需要集中精 力完成系统的业务逻辑设计 3、成熟的框架结构性好,扩展性好,多使用XML描述和解耦, 便于升级扩展和维护
3、Spring依赖注入模式 ①对象间依赖关系构成分散,不宜维护 这种在方法中new一个对象,缺乏统一的管理和控制,如果用这种 方式,依赖构成可能分散在程序的各个角落,日后程序可读性和 维护性将受到影响 ②可能会带来频繁创建对象的损失 直接在方法中new对象,每一次方法调用,都需要一次对象构造过 程 依赖注入(DI)背后的基本原理是对象之间的依赖关系(即一起 工作的其它对象)只会通过以下几种方式来实现:构造器的参数、 工厂方法的参数,或给由构造函数或者工厂方法创建的对象设置 属性。因此,容器的工作就是创建bean时注入那些依赖关系。相 对于由bean自己来控制其实例化、直接在构造器中指定依赖关系 或者类似服务定位器(Service Locator)模式这3种自主控制依 赖关系注入的方法来说,控制从根本上发生了倒转,这也是控制 反转(Inversion of Control, IoC)名字的由来。
业务逻辑 业务逻辑更新模型的状态,并帮助控制应用程序的流程。 业务逻辑更新模型的状态,并帮助控制应用程序的流程。 而言,这是通过作为实际业务逻辑“ 就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装 类完成的。 的 Action 类完成的。 Model(模型) Model(模型)的状态 模型表示应用程序的状态。业务对象更新应用程序的状态。 模型表示应用程序的状态。业务对象更新应用程序的状态。 在会话级或请求级表示模型的状态, ActionForm bean 在会话级或请求级表示模型的状态,而 不是在持久级。 不是在持久级。JSP 文件使用 JSP 标记读取来自 的信息。 ActionForm bean 的信息。 View(视图) View(视图) 文件。其中没有流程逻辑, 视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻 只有标记。 辑,也没有模型信息 -- 只有标记。标记是使 Struts 有 别于其他框架( Velocity)的因素之一。 别于其他框架(如 Velocity)的因素之一。
是一个开源框架, Spring 是一个开源框架,是为了解决企业应用程序开发复杂 性而创建的。框架的主要优势之一就是其分层架构, 性而创建的。框架的主要优势之一就是其分层架构,分层架构 允许您选择使用哪一个组件, 允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供 集成的框架。 集成的框架。 框架是一个分层架构, 个定义良好的模块组成。 Spring 框架是一个分层架构,由 7 个定义良好的模块组成。 模块构建在核心容器之上,核心容器定义了创建、 各 模块构建在核心容器之上,核心容器定义了创建、配置和 框架的每个模块(或组件) 管理 bean 的方式 。组成 Spring 框架的每个模块(或组件) 都可以单独存在, 都可以单独存在,或者与其他一个或多个模块联合实现
掌握本框架的前提基础
1.掌握Struts技术 2.掌握Spring原理 3.了解并掌握MVC构架 4.掌握基于控制层,业务层,DAO层的分层原理
框架技术涉及的原理
1、J2EE容器服务器介绍 J2EE应用系统只有部署在J2EE容器中才能运Baidu Nhomakorabea J2EE容器分离了一般应用系统的一些通用功能 功能机制的设计开发有一定难度,同时运行的稳定性和快速性都非 常重要 形成了专门的J2EE容器服务器产品,如Tomcat JBoss、Websphere、 WebLogic等 2、面向接口编程 所有的定义与实现分离的原则,便于程序规范化设计 方便的代码复用,无需了解技术细节,便于团队协同开发 实现松散耦合,便于以后升级,扩展 缺点: 只能遵循接口规范,不知道实现的技术细节 所谓的设计比实现难
WebRoot放的是项目页面目录(.jsp文件) |-----------css 放样式表供页面引用 |-----------helpimage 帮助文档的图片 |-----------js js文件 |-----------model excel文件模板 |-----------page 各种模块的页 ------------operator 面,按功能建立对应的文件夹 |-----------web-inf |-----------lib 项目用到的JAR文件 |-----------tld 标签 |-----------applicationContext.xml spring配置文件 |-----------struts-config.xml struts配置文件 |-----------struts-servlet.xml 具体的bean,action类 配置文件 |-----------web.xml 项目启动加载配置文 件
• Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构, DAO: 抽象层提供了有意义的异常层次结构, 可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。 可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。 异常层次结构简化了错误处理, 异常层次结构简化了错误处理,并且极大地降低了需要编写的异 常代码数量(例如打开和关闭连接)。 )。Spring 常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 异常层次结构。 的异常遵从通用的 DAO 异常层次结构。 • Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM: 框架, 的对象关系工具, JDO、 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis Map。 SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次 结构。 结构。 • Spring Web 模块:Web 上下文模块建立在应用程序上下文模块 模块: 之上, 的应用程序提供了上下文。所以, 之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框 的集成。 架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部 分请求以及将请求参数绑定到域对象的工作。 分请求以及将请求参数绑定到域对象的工作。
基于Spring+Struts框架开发指南
1.J2EE部分总体架构. 2.掌握本框架的前提基础 3.框架技术涉及的原理 4.J2EE部分系统框架介绍 5.系统开发框架--目录结构 6.系统框架规范 7.快速开发模块简单应用介绍
J2EE部分总体架构 部分总体架构
系统架构介绍 系统架构采用典型的三层架构,分别是展现成,应用层,持久层。 J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务 架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构 的不同平台之间,存在良好的兼容性,解决过去企业后端使用的 信息产品彼此之间无法兼容,,企业内部或外部难以互通的窘境 , 包含许多组件,主要可简化且规范应用系统的开发与部署,进而 提高可移植性、安全与再用价值 J2EE平台由一整套服务(SERVICES)、应用程序接口(APIS)和 协议构成,它对开发基于WEB的多层应用提供了功能支持。在本文 中我将解释支撑J2EE的13种核心技术:JDBC, JNDI, EJBS, RMI, JSP, JAVA SERVLETS, XML, JMS, JAVA IDL, JTS, JTA, JAVA MAIL 和 JAF,同时还将描述在何时、何处需要使用这些技术
com.witsky.web 项目标识 某项目开发源代码root目录(与该项目有 某项目开发源代码root目录( root目录 关的代码都放在此下) 关的代码都放在此下) |--action action类 |-----------operator |--servlet servlet类用于全局字符的转换和URL的拦截 servlet URL |--common.util 项目通用类(全局常量、变量定义等),以及工 具类 |--bean bean目录 (POJO类) |--dao dao类 (用于集中定义数据库的接口和实现类封装 了数据接口和实现方式) |--service 业务逻辑处理类,建议1个功能模块对应1个类 (注:action,service,dao包下可按照业务再划分包)
• 核心容器:核心容器提供 Spring 框架的基本功能。核心容器 核心容器: 框架的基本功能。 BeanFactory,它是工厂模式的实现。 的主要组件是 BeanFactory,它是工厂模式的实现。 • BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和 IOC) 依赖性规范与实际的应用程序代码分开。 依赖性规范与实际的应用程序代码分开。 • Spring 上下文:Spring 上下文是一个配置文件,向 Spring 上下文: 上下文是一个配置文件, 框架提供上下文信息。 上下文包括企业服务, 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 JNDI、EJB、电子邮件、国际化、校验和调度功能。 • Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向 AOP:通过配置管理特性, 框架中。所以, 方面的编程功能集成到了 Spring 框架中。所以,可以很容易 AOP。 地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块 的应用程序中的对象提供了事务管理服务。 为基于 Spring 的应用程序中的对象提供了事务管理服务。通 AOP, 组件, 过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事 务管理集成到应用程序中。 务管理集成到应用程序中。
框架: Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程 实现。通过策略接口, 序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置 容纳了大量视图技术, JSP、Velocity、 的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、 Tiles、 POI。 Tiles、iText 和 POI。