文章目录

  • 1 什么是SSH?
  • 2 学习SSH方法 ?
  • 3 MVC是什么?
    • 3.1 MVC 编程模式
  • 4 struts五大组件介绍
  • 5 Spring特征
  • 6 Hibernate特征
  • 7 框架和设计模式的区别

1 什么是SSH?

SSH是JavaEE中三种框架(Struts+Spring+Hibernate)的集成框架,是目前比较流行的一种Java Web开源框架。

2 学习SSH方法 ?

JavaEE学习就从最通用的MVC框架Struts开始学习,然后到Hibernate,最后是Spring。
对于Struts来说,Struts1和Struts2区别较大。还是把最原始的东西多看一下,对我们程序员来说可能收获更多。毕竟编程,思路是最重要的。

3 MVC是什么?

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。M是指业务模型,V是指用户界面,C则是控制器。一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

3.1 MVC 编程模式

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
  通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
  通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
最典型的MVC就是JSP + servlet + javabean的模式。

4 struts五大组件介绍

  1. ActionServlet
    Struts中的最大控制器,是Struts框架的入口,并且封装了Servlet,被配置在web.xml当中
  2. Action
    小控制器,处理具体的业务逻辑
  3. ActionForm
    和页面表单对应的一个特殊javabean,负责在页面和控制器之间传递数据。同时还提供了集中验证方法
  4. ActionMapping
    用来从Struts的配置文件中读取信息
  5. ActionForward
    页面之间的跳转

5 Spring特征

Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。
强大的基于 JavaBeans的采用控制反转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组件更加快捷简易。
一个可用于从 applet 到 Java EE 等不同运行环境的核心 Bean 工厂。
数据库事务的一般化抽象层,允许宣告式(Declarative)事务管理器,简化事务的划分使之与底层无关。
内建的针对 JTA 和 单个 JDBC 数据源的一般化策略,使 Spring 的事务支持不要求 Java EE 环境,这与一般的 JTA 或者 EJB CMT 相反。
JDBC 抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码), 简化了错误处理, 大大减少了程序员的编码量. 再次利用JDBC时,你无需再写出另一个 ‘终止’ (finally) 模块. 并且面向JDBC的异常与Spring 通用数据访问对象(Data Access Object) 异常等级相一致.
以资源容器,DAO 实现和事务策略等形式与 Hibernate,JDO 和 iBATIS SQL Maps 集成。利用众多的反转控制方便特性来全面支持, 解决了许多典型的Hibernate集成问题. 所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范.
灵活的基于核心 Spring 功能的 MVC 网页应用程序框架。开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现(View)技术,例如 JSP,FreeMarker,Velocity,Tiles,iText 以及 POI。值得注意的是,Spring 中间层可以轻易地结合于任何基于 MVC 框架的网页层,例如 Struts,WebWork,或 Tapestry。
提供诸如事务管理等服务的面向切面编程(AOP)框架。

6 Hibernate特征

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

将对数据库的操作转换为对Java对象的操作,从而简化开发。通过修改一个“持久化”对象的属性从而修改数据库表中对应的记录数据。
提供线程和进程两个级别的缓存提升应用程序性能。
有丰富的映射方式将Java对象之间的关系转换为数据库表之间的关系。
屏蔽不同数据库实现之间的差异。在Hibernate中只需要通过“方言”的形式指定当前使用的数据库,就可以根据底层数据库的实际情况生成适合的SQL语句。
非侵入式:Hibernate不要求持久化类实现任何接口或继承任何类,POJO即可。

7 框架和设计模式的区别

框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:

内部重用,即在同一应用中能公共使用的抽象块;
代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;
应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
框架模式有哪些?

MVC、MTV、MVP、CBD、ORM等等;

框架有哪些?

C++语言的QT、MFC、gtk,Java语言的SSH 、SSI,php语言的 smarty(MVC模式),p**ython语言的django(MTV模式)**等等

设计模式有哪些?

工厂模式、适配器模式、策略模式等等
简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

【Java Web后台实验与开发】关于SSH框架的探索相关推荐

  1. 【Java Web后台实验与开发】ServletHTTPRequest笔记

    文章目录 Servlet: HTTP: Request: 案例:用户登录 Servlet: 1. 概念 2. 步骤 3. 执行原理 4. 生命周期 5. Servlet3.0 注解配置 6. Serv ...

  2. 【Java Web后台实验与开发】CookieSession部分

    文章目录 会话技术 Cookie: JSP:入门学习 Session:主菜 案例:验证码 会话技术 1. 会话:一次会话中包含多次请求和响应.* 一次会话:浏览器第一次给服务器资源发送请求,会话建立, ...

  3. 【Java Web后台实验与开发】The server time zone value ‘�й���׼ʱ��‘ is unrecognized or represents more than one

    文章目录 1 错误环境 2 错误原因 3 解决方案: 1 错误环境 mysql版本:5.5.0 2 错误原因 使用原mysql5.1.38不会出现该问题 因使用了Mysql最新版驱动所以报错 3 解决 ...

  4. Java Web 后台中餐饮业报表系统开发实例

    本期葡萄城公开课,我们诚邀石家庄品智技术有限公司,高级软件工程师--刘永政先生,为大家在线分享餐饮业报表系统设计模式,以及在 HTML5 报表浏览器.Java 架构中跨平台使用ActiveReport ...

  5. java web后台_java web 后台那些事

    java web 后台运行原理 当Web服务器接收到一个HTTP请求时,它会先判断请求内容--如果是静态网页数据,Web服务器将会自行处理,然后产生响应信息:如果牵涉到动态数据,Web服务器会将请求转 ...

  6. 14个适合后台管理系统快速开发的前端框架

    1.D2admin 开源地址:https://github.com/d2-projects/d2-admin 文档地址:https://d2.pub/zh/doc/d2-admin/ 效果预览:htt ...

  7. (6K-10K外派到盛大).NET/PHP/Java/Web前端/Linux C++开发

    帮公司招人, 职位全部都在[上海]!如果有兴趣的请联系我: email/msn: wbqsln@126.com qq: 155217529 ============================== ...

  8. Java Web中动态网页开发基础重点总结

    为什么学习B/S技术? 客户端   服务器   C(Client)/S(Server)有局限性,必须安装客户端 浏览器   服务器   B(Browser)/S(Server)无需安装客户端软件,也无 ...

  9. python java web前端 net 移动开发_JavaScript超越了Java,c,python等等成为Stack Overflow上最热门的...

    Javascript 可以做什么 1. Web 前端 相信这个这个是毫无疑问的,在 Web 前端的地位目前是没有任何语言能撼动它的霸主地位. image.png 2. 后端 Nodejs Node.j ...

最新文章

  1. python:Json模块dumps、loads、dump、load介绍
  2. 目标检测(Google object_detection) API 上训练自己的数据集
  3. mysql支持UUID做外键_多表外键下将普通的id主键更新为uuid主键
  4. 【错误记录】Flutter 构建报错 ( Error: Method not found: ‘CupertinoModalPopupRoute‘. | 下载最新 Flutter SDK 版本 )
  5. 编写程序计算 sentence 中有多少个单词,并指出其中最长和最短的单词。如果有多个最长或最短的单词,则将它们全部输出。
  6. 踩自行车来进行人力发电,真的能驱动旋转木马吗?
  7. 远程计算机已结束连接解决方法
  8. 程序员面试金典——5.3最接近的数
  9. 婚礼一条龙服务成为新亮点
  10. MySQL几种常见的数据类型
  11. hprose php用户手册,04 协程 - 《Hprose for PHP 用户手册》 - 书栈网 · BookStack
  12. 西游记中牛魔王的雄厚实力和家业地盘
  13. 基于51单片机的智能汽车雨刷控制系统方案原理图程序设计
  14. 多线程(一)线程与进程、Thread
  15. erp沙盘采购总监的心得_erp沙盘模拟实验采购总监个人总结
  16. 写一个判素数的函数,在主函数输入一个整数,输出是否为素数的信息。
  17. python地铁查询系统_地铁python——函数
  18. mysql 查询一个月的数据
  19. 前端JS base64转图片
  20. 程序猿生存指南-19 全民编程

热门文章

  1. Legacy autograd function with non-static forward method is deprecated. Please use new-style autograd
  2. Unable to get repr for<class‘torch.Tensor‘>
  3. retinaface 记录
  4. c#(winform)环境下使用动态链接库dll的详解
  5. Python中dict用法详解
  6. char* 和jstring转换
  7. mysql密码修改脚本
  8. 框架有几层_如何设计一个自动化框架
  9. 试玩UML(User Mode Linux)
  10. Selenium3自动化测试——23.自动发送邮件功能