我要做的事一个基于web的图书管理系统,我选择的框架式SSH框架。

SSH框架介绍:SSH是Spring+Struts+Hibernate的集成框架。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。

    Struts对Model,View和Controller都提供了对应的组件。

    Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

SSH框架的选择原因

①目前我所学到的框架只有EF和SSH框架,然而EF框架需要借助的工具需要收费才能使用,而SSH是完全免费的。

②SSH是典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。

③开发效率:采用SSH开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于并行工作,大大提高了开发效率。

转载于:https://www.cnblogs.com/zchenjian/p/5478688.html

实验一 框架的选择及其原因相关推荐

  1. 框架选择的原因及其说明

    首先,我选择的框架是SSH框架,SSH是我们目前正在学习的一个web开发中的重要框架,在软件架构的学习中需要一个框架的例子让我们更好的了解软件构架中的一些知识,刚好这学期学习了SSH框架,对SSH框架 ...

  2. python爬虫库的功能_Python学习爬虫掌握的库资料大全和框架的选择的分析

    学Python,想必大家都是从爬虫开始的吧.毕竟网上类似的资源很丰富,开源项目也非常多. Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 当我们在浏览器中输入一个url后回车,后台会发生 ...

  3. 02_Flink vs storm vs SparkStreaming、Flink vs storm对比图、实时框架如何选择

    1.2.Flink vs storm vs SparkStreaming 1.2.1.对比图 1.2.2.Flink vs storm对比图 1.2.3.实时框架如何选择 需要关注流数据是否需要进行 ...

  4. MXNet -aws深度学习框架之选择

    MXNet -aws深度学习框架之选择 机器学习在我们的生活和我们的商业中扮演越来越重要的角色,并且机器学习被广泛地用于一些传统算法解决不了或者很难解决的领域 在亚马逊,机器学习一直是很多业务流程的关 ...

  5. 从零开始搭建仿抖音短视频App-前后端开发模式,前端框架的选择、前端项目搭建

    目录 前后端开发模式 传统JavaWeb开发模式 前后端分离模式​编辑 前端框架的选择-UniApp介绍 内网互通原则 运行到iphone与Android 前后端开发模式 传统JavaWeb开发模式 ...

  6. 关闭服务器系统关机事件,让Win10关机时显示“关闭事件跟踪程序”(选择关机原因)...

    使用过Windows Server服务器的童鞋,应该都知道,在关机或重启时会弹出"关机原因"对话框,选择关机原因后,才能继续关机操作,这就是"关闭事件跟踪程序" ...

  7. 移动端app开发,框架的选择。

    从事java开发快三年了,最近公司因项目要求需要做一款app,个人对这方面兴趣比较大,于是网上收集资料,框架的选择,技术的论证,到今天项目需求的各个功能都做出了相应的demo同时也打好了框架,接下来就 ...

  8. [Windows][Photoshop] 透视变开形工具灰色不可选择的原因

    问题:PS透视变开形工具灰色不可选择的原因 原因:确认一下 性能中的显卡选项是否打开 解决:如果显卡未打开,打开显卡选项,比较依赖显卡性能.

  9. Android之---项目开发中网络框架的选择

    项目开发中网络框架的选择 Android常用的网路框架: 大多数应用程序基本都需要连接网络,发送一些数据给服务端,或者从服务端获取一些数据.通常在 Android 中进行网络连接一般使用 Scoket ...

最新文章

  1. 使用HTML+CSS实现鼠标划过的二级菜单栏
  2. 【VC基础】 5、对象相关性(Object Dependencies)
  3. 【Demo】创建固定资产Bapi
  4. map初始化_您可曾这样初始化一个map呢?
  5. 再次分享一个多选文件上传方案
  6. 对PostgreSQL中后台进程内存挂载的初步学习
  7. android图片浏览功能,怎么在Android应用中实现一个网页图片浏览功能
  8. 信息学奥赛C++语言:约瑟夫问题
  9. MySQL学习记录—Date函数系列
  10. 资源 | 11个免费矢量免抠素材网站
  11. 0006 求三个数的平均数
  12. C# LeetCode刷题 - LeetCode 148. Sort List 解题报告(归并排序小结)
  13. 免费高效的Linux远程工具-MobaXterm最全图文总结
  14. 概率论与数理统计学习笔记(6)——分布律,分布函数,密度函数
  15. HDMI 之 CEC
  16. 结巴分词----去停用词
  17. 云上的今天,AI的未来:影视特效怎么就成了科技企业的宠儿?
  18. 开机提示ntldr is missing ,系统文件丢失,三种方法修复
  19. 计算机网络可靠传输是什么意思,可靠传输
  20. The server time zone value '?й???????' is unrecognized or represents more than one time zone. You mu

热门文章

  1. python中pcolor_python中pcolormesh-女性时尚流行美容健康娱乐mv-ida网
  2. 荣威i5能升级鸿蒙系统吗,荣威i5更新系统方法
  3. 8086汇编工作环境_ARM汇编进阶
  4. STM32F103单片机使用DMA功能读取ADC采样数据
  5. 从石头剪刀布浅谈算法的作用
  6. linux内存管理(八)-不连续页分配和页表
  7. 网络监视工具nethogs命令
  8. 毕设日志——配置服务器与测试gpu版本的tf faster rcnn代码
  9. 吴恩达深度学习5.1练习_Sequence Models_Building a RNN Step by Step
  10. 《Programming in Lua 3》读书笔记(十三)