实例讲解SSH技术架构..docVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实例讲解SSH技术架构.

实例讲解SSH技术架构 王青 2007-08-04 前言 Struts + Spring + Hibernate 是近两年在Web Application中使用的比较多的技术,虽然新的技术不断涌现,SSH可能终将成为昨日黄花,但是在其框架间的思想却是不会过时的。故而希望借此机会与师弟妹们共同学习? 注:部分资料和图片来自Internet在此向原作者表示诚挚的感谢! 简介 我是个懒人,没有仔细地查Struts,Spring和Hibernate的准确定义;这里和大家分享下我的认识: Struts Struts是一个建立在Servlet和JSP技术基础上的Web Application表示层的技术框架,它实现了MVC2的模式,从而使得表示层中的视图和表示逻辑较好的分离(换言之,就是说你不用写大量的java代码在你的JSP中了) 图表 1 Struts MVC2 Spring Spring是一个轻量级的模块化框架,我们常用它来取代业务逻辑层的应用服务器,由它来提供原来由应用服务器提供的诸如对象创建,事务管理,日志等等公共基础设施。它实现了Inverse of Control(Dependency Injection)和Aspect Oriented Programming的编程模型。简单说就是:IoC使得对象的初始化完全由Spring来负责,因此对象实例之间的关系成为可声明的(在Spring的配置文件中声明);AOP使得我们不再为跨越系统各个模块的公共问题伤脑筋(事务、安全等等),Spring为我们提供了接近完全透明的解决方案。 图表 2 Spring Architecture Hibernate Hibernate是一个数据库访问框架,着力于提供可声明的(declarative)持久化服务。 图表 3 Hibernate 准备实例 这里我们有一个具体的例程来和大家一同学习SSH: SelectiveCourseManagementSystem.rar 在这个例子里具体的来说我们就是要使用Spring为我们业务逻辑层提供事务服务,并以它为胶水来把Struts和Hibernate整合起来。 图表 4 Spring in Middle Tier 例程环境 MyEclipse 5.5 GA(eclipse 3.1以上也可以,MyEclipse好用些而已) MySQL 4.0以上 开始前的准备 将压缩文件直接解压后导入Eclipse 新建一个create.sql脚本,将sql.txt文件中sql脚本copy过来 在Eclipse中连接数据库,运行create.sql脚本 在新数据库中加入数据请参照下述Domain Model,注意数据之间的关系(请添加数据,否则无法测试) 将application-service.xml中的数据库连接的属性修改为当前数据库服务器对应的值 修改项目的build path中已经无效的mysql connector jar, 将其替换为恰当的connector 部署项目 start Tomcat 在浏览器中测试your-tomcate-stratpoint/StudentManger Ok,the SSH application is running now!让我们开始分析? 简单的需求分析 注:简便起见,这里我们没有完整的需求分析,大家注意在实践中还是要完整的需求过程的。 这个应用是个简单的选修课管理系统: Use Case分析 图表 5 Use Case Diagram 描述 该系统可以方便处理学生在课程选报,学分查询,成绩查询,以及 成绩发布等。系统以班级为核心,一门课程可以对应多个班级一名教师可以带不同的班级学生可以选报不同课程所对应的班级班级自身有目前人数,和最大人数,以及上课时间,上课地点的属性。学生在选报班级之后,班级的人数会自动加一,直到等于最大人数时,其他学生将会有人数已满的错误提示。如果学生选择了同一课程的不同班级,也将收到错误提示。学生有密码,系别,学分,地址,电话等属性。教师在系统中主要负责成绩发布教师可以对其所带的班级的学生的成绩修改系统会以成绩是否大于等于60来判断学生是否通过考试,如果通过会将该课程的学分累加到学生学分如果教师二次修改了成绩,而且小于60,系统会在学生学分上扣掉该课程的分数。课程在系统中具体体现为班级,自身带有学分属性。系有编号,名称的属性,同时可以作为联系教师,课程,学生的桥梁。 功能模块身份验证模块: 根据用户名,密码,用户类别 转发用户到不同的模块。学生模块: 查看课程,查看班级,选报课程,查看己选课程,成绩查询。教师模块: 录入成绩管理员模块:对学生,教师,课程,班级,系 增,删,查,改。 图表 6 Domain Model

文档评论(0)

sfkl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档