以下内容只是一个小白菜鸟的理解和总结,目的仅在于梳理思路。

13年的时候,我就说要学JAVA,有个C++高手同事赞许地说:“嗯,不错,SSH。。。”我不禁肃然起敬。SSH!多么高大上的词,JAVA就是这样,这框架,那概念的,理论一套一套的,特别多,让人听了就兴奋到不行。

那么,SSH究竟是个啥?

分别是 structs、spring、hibernate。它们都是框架,结合起来用在WEB项目中。

structs:

主要是实现MVC中的C。在JAVA WEB项目中,这个C是指Servelet、Filter等拦截、过滤的程序。现在是structs2,据说与structs1没啥关系。

但是,Spring也有MVC的实现,有了它可以不用structs。大家之所以还用structs,其实是看中Spring的IOC、AOP,即控制反转,面向切面等机制。(哎,控制反转、面向切面这些都跟设计模式、系统架构密切相关,其中面向切面这个概念,我还是去年为了考架构师才知道的。真羡慕JAVA程序员,接触到的理论、概念非常多,从没听说.NET程序员要关心这些的!)

参考文章:

Spring:

说了,有MVC\控制反转\面向切面这些机制。这是一个轻量级的框架,其目的是为了帮助程序员更容易使用现有的那些笨重的框架。

据说这个开源的框架是编码典范,设计经典,任何要学习java的人都应该仔细研读,必定获益良多!

参考文章:

http://baike.baidu.com/link?url=hEyeK3a4meovEHS8MlfiotFUCcgS6EPiF5m7P-fFfWoulf3Imoac3B1jkrHoGJx-jX3gYiRx7Oh5V_yS46_JyLK59xGC7VTRe4j7jqs4GCW

Hibernate:

不就是一个ORM框架吗?

除了实体类、方便程序员像使用平常面向对象方式那样编码,操作数据库外,其实它还有缓存、事务等机制。其缓存,曰Session,我猛一看,还以为是HttpSession。

让人汗颜的是,设计出Hibernate的天才,是因为觉得用传统的JAVA方式操作数据库太繁琐了,就决定自己写一个。他对SQL一窍不通,在写Hibernate之前,先到路边的旧书摊上买了一本SQL的入门书。靠,什么叫天才。

为什么JAVA涌现出如此之多杰出思想、概念、框架?我看,主要原因是在于它的开源。因为开源,可以聚集全世界的志同道合者一起参与,大家齐心协力,不断迸发出灵感的火花;而.NET只是一个公司的产品,尽管微软也很强,其开发者也很优秀,但毕竟人数相比太少;更何况,为开源产品添砖加瓦,完全出于个人兴趣,因而参与者可以乐此不疲,不知不觉就将JAVA做大做强;而微软的雇员做.NET,多少有任务的味道,有东西产出就行。

其次,微软因为WINDOWS太成功了,认为要将所有的产品都做得非常易用,包括开发工具。但是,程序员毕竟不同于普通用户,你将一个语言、工具做得那么傻瓜,拖控件、点鼠标,三两下就可以实现个 Hello World!,似乎开发效率提高了不少,但是,智能的外表下,掩盖了那些更需要为程序员所知道通晓的运行机制和原理!所以,微软产品系列的程序员,通病就是只知道应用,而缺乏对程序本质的理解,知其然而不知其所以然,更遑论那些系统架构级的概念、思想了。跟JAVA程序员相比,.NET程序员就像个傻逼。

参考文章:

http://www.admin10000.com/document/150.html

版权声明:本文为博主原屙文章,喜欢你就担走。

Java小白手记:SSH的更多相关文章

  1. Java小白手记2:一些名词解释

    看到<Java 征途:行者的地图> ,这是一篇有关java学习路径文章.对我等Java小白有指引作用.里面提到了一些基本的名词术语,有些我知道,有些不知道,再补上一些自己曾觉得模糊的,记录 ...

  2. Java小白手记:WEB项目等

    机缘巧合之下,工作中得以用一下java.我向来对java很感兴趣,想从.NET转到java久矣,机会难得,久旱逢甘霖. 这次主要是跟web项目有关.在此之前,我了解到JAVA分为三大块:j2se.j2 ...

  3. 1、Java小白之路前言

    大二一年准备好好学习Java,养成一个良好的习惯写博客,但是由于各种各样的原因,并没有坚持下来.而正好又赶上大三结束,去实习,发现自己的基础还是有些薄弱,所以决定,重新走上这条Java小白之路. 时隔 ...

  4. 老杜告诉你java小白到大神是怎么炼成的(转载)

    老杜告诉你java小白到大神是怎么炼成的 1. 学习前的准备 一个好的学习方法(应该怎么学习更高效): 一个合格的程序员应该具备两个能力 有一个很好的指法速度(敲代码快) 有一个很好的编程思想(编程思 ...

  5. Java小白如何一步步学好Java,听听企业Java培训师的实践经验吧

    今天我准备给小主展示一篇Java培训老师的文章,希望能给Java小白一个学好Java的路径或者提示.以下就是原文: 从大学到现在,我使用Java已经将近20年,日常也带实习生,还在公司内部做train ...

  6. java jdbc使用SSH隧道连接mysql数据库demo

    java jdbc使用SSH隧道连接mysql数据库demo   本文链接:https://blog.csdn.net/earbao/article/details/50216999   packag ...

  7. Java小白集合源码的学习系列:LinkedList

    目录 LinkedList 源码学习 LinkedList继承体系 LinkedList核心源码 Deque相关操作 总结 LinkedList 源码学习 前文传送门:Java小白集合源码的学习系列: ...

  8. Java小白集合源码的学习系列:Vector

    目录 Vector源码学习 Vector继承体系 Vector核心源码 基本属性 构造器 扩容机制 Enumeration 概述 源码描述 具体操作 Vector总结 Vector源码学习 前文传送门 ...

  9. 【JDK1.8】 Java小白的源码学习系列:HashMap

    目录 Java小白的源码学习系列:HashMap 官方文档解读 基本数据结构 基本源码解读 基本成员变量 构造器 巧妙的tableSizeFor put方法 巧妙的hash方法 JDK1.8的putV ...

随机推荐

  1. JS提前声明和定义方式

    来源:JS的函数定义方式以及对声明的提前 以下代码,声明语句会被提前到当前作用域(全局作用域和函数作用域)的顶部.但赋值语句不会提前,依然留在原地 var x = function(){}; var ...

  2. 关于在Safari浏览器中将网页添加到主屏幕的相关设置(自定义图标,启动动画,自定义名称)

    在ios中我们可以使用Safari浏览自带的将网页添加到主屏幕上,让我们的web页面看起来像native那样 第一步: 第二步: 第三步: 到这里还没结束:我们还要进行相关设置才能使我们的应用更像原生 ...

  3. react-native打包apk常见错误收集

    react-native 0.59打包报错,信息如下,根据错误信息是因为react-native-cookies的sdk版本问题导致的 ./gradlew assembleRelease > C ...

  4. Spring Boot 返回Html界面

    @Controller public class HelloController { @RequestMapping("/") public String index(){ ret ...

  5. 实验:iscsi共享存储

    实验名称: iscsi共享存储 实验环境: 我们需要准备一个磁盘,对于这个磁盘我们需要使用,将这个磁盘空间共享给iscsi客户端: 实验需求: 我们这里使用两台服务器来实现iscsi共享存储: 1.指 ...

  6. 大数据学习——mapreduce共同好友

    数据 commonfriends.txt A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E:B,C,D,M,L F:A,B,C,D,E,O,M G:A,C,D ...

  7. var声明的成员变量和函数内声明的变量区别

    1.函数内部,有var声明的是局部变量,没var的,声明的全局变量. 2.在全局作用域内声明变量时,有var 和没var声明的都是全局变量,是window的属性.通过变量var声明全局对象的属性无法通 ...

  8. POJ1690 简单运算去括号

    题目大意: 给定一串只含加减和括号的运算,去掉没用的括号和空白字符输出 这里其实只要去找当前括号前面那个运算符是不是减号,如果是减号且这个括号内出现过运算符说明这个括号应该存在 #include &l ...

  9. App竞品技术分析 (3)减小安装包的体积(转)

    http://blog.csdn.net/JspAndAsp/article/details/49339403 1 从几件小事说起 春节在家帮姐姐的iPhone手机安装市面上形形色色的App,忘记她是 ...

  10. (二)Commonjs规范与模块化

    在之前的学习中我们使用require()来引入我们需要的包,这其实就是模块化,各模块相互独立,可以通过某种方式引入别的模块.而这些引入方式都是遵循一定的规范的,这就是CommonJS规范. 一.Com ...