ssi框架学习总结_第1页
ssi框架学习总结_第2页
ssi框架学习总结_第3页
ssi框架学习总结_第4页
ssi框架学习总结_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 14 ssi 框架学习总结 目录 1. 框架简介 . 2 2. 框架结构 . 3 控制层 . 3 业 务 逻 辑层 . 3 持久层 . 4 2 / 14 小结 . 4 3. 框 架 的 配 置 过程 . 4 添加 jar包 . 4 添加配置文件 . 4 加 载 过程 . 5 SSI 整 合 时 的 一 些 配 置 文件 .3 / 14 . 7 如 何 启 动 Spring 容器 . 8 整合Struts2 . 8 Spring 整合 ibatis 配 置 文件 . 9 、 . 9 1. 框架简介 MVC 对于我们来说,已经不陌生了,它起源于 20 世纪 80 年代针对 smalltalk 语 言的一种软件设计模式,现在已被广泛应用。近年来,随着 java 的盛行, MVC 的低耦合性、高重用性、可维护性、软件工程的可管理性等诸多优点使其在 java 平台中很受欢迎,其间,也诞生了许多优秀的 MVC框架,如专注于控制层的 Struts、 WebWork, Struts2, JSF等框架,专注于业务逻辑方面的 Spring 框架、专注于持久4 / 14 层的 Hibernate、 iBatis、 Castor、 JORM等框架。由于最近用了一次 SSI 框架,因此本文主要是对 Strtus2、 Spring、iBatis 三个开源的 MVC框架进行一个小 结。 Struts2 主要来源于 webwork 框架,与 Struts1 相比,在数据传递方面, Struts2 提供了更加强大 OGNL 标签功能,使其能够通过在 action 中定义变量来直接与 jsp 页面中的数据进行相互传值,省去了 Struts1 中的 formbean;而在跳转控制方面, Struts2 简化了配置文件的信息量,使页面和 action 之间的交换更加的简洁和直观,便于开发人员的管理。 Spring 功能非常的强大,比如它的控制反转 /依赖注入机制,省去了我们自己书写工厂模式的工作,实现类对我们 将要用到控制类、业务逻辑类、数据访问类、以及 JNDI或者 JDBC数据源的托管; Spring对 AOP支持使我们在用户 target=_blank权限控制、事务处理方面节省了很多工作量; iBatis 则是一种轻量级的 OR Mapping 框架,与Hibernate 相比, iBatis 提供了半自动化对象关系 映射的实现,开发人员需要编写具体的 sql语句,为系统设计提供了更大的自由空间,为 sql语句优化提供了便利。 2. 框架结构 下面这张图就是我们所用到的这三种框架的结合5 / 14 体, 下面对其作以简单介绍。 控制层 在控制层,利用 Strtus2标签功能,在 Action中直接与 jsp页面上的数据进行交互。在调用业务逻辑层应用时,Struts2 提供了对 Sping 的支持。开发人员需要完成对的配置工作和对各个 Action 类的编写。 业务逻辑层 在业务逻辑层,利用 Spring 框架的依赖注入实现对业务逻辑类和 DAO 类的 实例托管;在事务处理方面,利用 Spring 提供的面向切面的事务处理功能,使对数据的事务控制脱离于数据访问接口 实现;在对象关系映射方面,利用 Spring 对数据库连接池的托管和对 iBatis 框架的支持。开发人员需要完成对数据源的配置、对不同模块所对应的 application*.xml文件的配置,以及对业务逻辑接口的定义和业务逻辑实现的编写。 持久层 在持久层,利用 iBatis提供的半自动化对象关系映射的实现,开发人员需要编写具体的 sql 语句,为系统设计提供了更大的自由空间。另外,开发人员需要完成对和 *的配置,以及对 DAO 6 / 14 接口的定义和 DAO接口的实现。 小结 在各 层之间进行交换的过程中,利用数据传输类进行数据的传递和交互。其中,数据传输类与数据库表一一对应。 SSI框架能够降低我们代码的耦合度,增强了代码的健壮性和可重用性,加快了开发速度,但是也有一些不足之处,比如由于三种框架的配置文件较多,也给我们带来了一些不便,特别是对于较小的应用来说更是如此 3. 框架的配置过程 添加 jar包 首先引入 struts2 spring ibatis 各自的 jar 包 在此就不一一罗列了。 添加配置文件 我们 首先从文件说起 加载过程 1 启动 WEB 项目的时候,容器会读他的配置文件读两个节点 和 2 紧接着,容器创建一个 ServletContext 这个WEB项目所有部分都将共享这个上下文 3 容器将转化为键值对并交给 ServletContext 4 容器创建中的类的实例,即创建监听 5 在监听中7 / 14 会有 contextInitialized 初始化方法,在这个方法中获得: ServletContext ; context-param的值 = = ; 节点加载顺序 节点的加载顺序与它们在文件中的先后顺序无关。即不会因为 filter写在 listener的前面而会先加载 filter最终得出的结论是 :listener-filter-servlet 同时还存在着这样一种配置节点: context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, filter 等在初始化时会用到这些上下文 的信息,那么 context-param 配置节是 不是应该写在 listener 配置节前呢?实际上 context-param 配置节可写在任意位置,因此真正的加载顺序为: context-param - listener - filter - servlet 加载 spring ssi框架学习总结 最近由于新公司对框架的要求,需要了解下 ssi 的框架结构以及具体使用方法。由于之前的公司使用的是springMVC,还是有点区别,所以经过大规模的网上收集和整理资料,对 ssi 框架做了初步的总结并 编写了一个相关的8 / 14 demo,大致总结了这么几点: 框架简介: 相信大家对于 mvc 的三层架构已经灰常熟悉了,在这就不细讲了,个人感觉 ssi的框架结构还是比较典型的 mvc三层架构,还是比较容易上手的。关于这块的入门我想特别感谢下 FrankHui 童鞋,在他的帮助下,我才能比较快滴熟悉了这个架构,对我学习 ssi 的框架还是很有帮助滴。 ssi的框架主要是由 struts2, spring 以及 ibatis 组成,他们负责各层之间的交互与协作,从而实现整个 web端的功能实现与整合。 Struts 目前主要负责数据传递和控制 方面,spring 则依靠其强大的依赖注入技术实现了类似 bean 托管和整合等功能,当然这只是 spring 功能中的冰山一角,而ibatis 作为一种轻量级的 OR Mapping 框架,提供了半自动化对象关系映射的实现,自由度相对于 hibernate 更高。 框架结构: 这是我在网上找到的一张关于 ssi 框架的结构图,个人感觉画的还是蛮不错的,对于入门者来说,层次机构很清晰,比较实用: 在这里可以很明显的看出 ssi框架的大体结构以及各层之间的交互情况,顶层表现层的话,就 java 而言主 要是 jsp, html 等视图层技术的编写,其中涉及我们熟悉的javascript, jquery 以及 extjs等。在控制层来说的话,主要是利用 strust2 标签功能实现 action 9 / 14 与视图层的数据 交互,当然也可以使用 ajax 的技术实现同样的功能,这个就按个人喜好而来了。在业务逻辑层。主要是利用spring 的依赖注入实现对业务逻辑类和 dao类的实例托管,当然各类的实例都可以托管在 spring 中进行统一管理和关联,包括事务,数据源等等。在持久层,利用 ibatis 提供的半自动化对象关系映射的实现 ,开发人员可以根据需要编写具体的 sql语句,通过相应的 xml的配置实现对数据库的操作。 总之, SSI 框架能够降低我们代码的耦合度,增强了代码的健壮性和可重用性,加快了开发速度,但是也有一些不足之处,比如由于三种框架的配置文件较多,也给我们带来了一些不便,特别是对于较小的应用来说更是如此。 相关 demo 介绍: 基于之前对 ssi 框架的学习,我也不能免俗滴选择了做一个用户管理的 web 实现,项目的大致框架如下: 大体上还是按照三层的分层模型来是分的,具体就不详细说了 , 相信大家也应该很了解 整个结构的。 ? 开发环境简介: 工具: +tomcat7+ 10 / 14 框架: struts2, 开发步骤及配置简介: 第一步,众所周知肯定是导入相关的 lib 库啦,由于我使用的前端是 extjs,所以还需要导入 extjs 相关的 js以及 css 依赖文件。由于 lib 库太多就不截图了,只截取extjs的相关依赖文件: 这样基本的环境就有了,数据库的设计则需要根据model层的对象来确定。 第二步 ,建立相关的 model 层 ,代码如下 : publicvoid = username; public String getAddress returnaddress; publicvoid setAddress = address; publicint getId returnid; publicvoid setId = id; public String getName returnname; publicvoid setName = name; public String getPassword returnpassword; publicvoid setPassword = password; 第三步, strust 的相关配置,这里就不详细讲述strust 的单独配置及原理了,直接上实例中的相关配置文件,主要是以及的相关配置,部分主要配置如下: : 11 / 14 struts2 struts2 /* : http:/dtds/ 、 Struts2、 Ibatis 开发框架搭建 ssi, ibatis 网站: http:/?name=ssi Csdn网站: / 一、框架下载 框架 Struts2框架发展于 WebWork,现在捐献给了 Apache12 / 14 开源组织 ,最新版本的 Struts2 框架可以从位于 Apache 官方网站的 Struts2 项目中获取, Struts2 框架的项目主页地址为: http:/ ,下载页面地址为 : http:/ ,打开下载地址以后自己选择最新发布的版本即可,新手的话下载 Full Distribution 的版本,例如http:/#struts2016 中的 。 为了让 struts2 能够支持 json 格式的返回数据,还需要下载 json插件,下载地址为 http:/p/jsonplugin/,下载文件为 文件。 框架 Spring 框架的官方网站地址: http:/,找到download 连接,按提示信息下载即可。下载 DBCP 数据库缓冲池框架,下载地址为 http:/dbcp/,下载最新版本即可,因为 DBCP框架是 apache开源软件组织的众多框架中的一部分,要让 DBCP 工作的话,还需要 common-pool 框架,自行到 apache官方网站下载 二、向项目中加入 Spring Struts iBATIS 框架 准备工作 将下载的三个框架分别解压缩。 新建一个 Web Project。 13 / 14 向项目中加入 Spring框架 将 Spring 解压缩以后 dist目录中的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论