[置顶] 给小白的Java EE指南(1)

前言
这是写给零基础小白的一系列文章。 
为啥叫生存指南呢, 因为Java发展了20年, 现在已经不仅仅是一个单纯的语言了, 而是一套完整的生态系统, 其中的术语像 HTML, XML, CSS, Javascript , AJAX,  JQuery,Prototype, HTTP,  Tomcat, JBoss, Nginx , Memecached , Redis, MVC ,Servlet, JSP, Struts, Hibernate, myBatis , Spring, JFinal,  MySql, JDBC, EJB, JMS, Swing , AWT, Reflection, OSGi...   铺面而来, 搞的你头晕脑胀, 无所适从,很容易就Lost了。 
所以写这个文章的目的就是帮助小白能在Java 的汪洋大海里生存, 时不时的能冒出水面喘口气, 看看空中的生存指南, 把握自己的方向继续向前。 
----------------------------------------------------------------------------------------------------------------------------------------------

先回答一个问题?  为什么要学习Java ?
我想原因无非有这么几点
1. 我周围的人都在学, 所以我也学
2. Java 好找工作啊, 确实是,在中国,软件行业还处于模仿、学习美国鬼子的阶段, 做系统级编程的不是没有, 像BAT就会用到。 不过绝大部分公司还都是搞应用级程序的开发, 所以Java, 尤其是Java EE 工作机会是非常多的。 
3. Java 看起来挺简单的。

Java 语言本身看起来确实挺简单的,  不像C语言, 一个指针就把你搞迷糊了; 
也不像C++, 语法复杂而诡异, new 了一个对象以后还得记住 释放内存,确实是挺悲催的; 
Java 即使加上了面向对象(封装,继承,多态), 也是简单的令人发指, 不用上大学,高中生,甚至初中生都能看明白。 
可是你会发现学了基本的Java 以后,  除了能写个水仙花数, 九九乘法表,还是啥也干不了,更别说月薪过万了。 
人家公司至少要求精通SSH,AJAX,JQuery ,CSS,mysql  , 这条路走起来就不那么容易了。

再看第二个问题:  Java 到底能干什么?
一句话,  Java 最擅长的就是Web 应用开发(通俗的讲就是网站开发),    不善长桌面应用开发。  
你想想你开发一个Java 桌面应用, 还得让用户下载一个Java 虚拟机, 甚至要设置环境变量, 一般人是搞不定的。 此外Java 内置的Swing ,AWT确实不怎么样, 开发出来的界面距离操作系统原生界面差了很远,  所以除了特殊情况, 奉劝那些还在孜孜不倦的研究Java 界面编程(Swing, AWT)的同学还是不要浪费精力了,  不要硬逼着Java干他不擅长也不不愿意做的事情。 

所以咱们就聊聊Java Web 开发中用到的那些技术和术语。 
先来说说 HTML 咱们想象一个场景, 互联网还没有出现, 你是个球迷+程序员,  电脑里有很多的记录足球的文件例如 足球.txt, 巴塞罗那.txt , 曼联.txt ..... 
其中足球.txt 中有一个词"巴萨罗那" , 为了方便, 你想点这4个字就打开另外一个文件“巴赛罗那.txt” 立刻就能看看球队的介绍 ,这该怎么办?
你冥思苦想,终于顿悟了, 可以这么干: 定义一个协议 <a href ="巴塞罗那.txt">巴塞罗那 </a>   , 然后开发一个软件, 把所有的文本都管理起来, 遇到像<a href ...>这样的东西, 软件就认为这是一个链接, 点击后就打开另外一个文件 ! 
这的确是个好主意,其实在1989年, 万维网的发明人 蒂姆·伯纳斯·李也是这么干的, 你看你要是早出生20年,估计也是WWW的发明人了。 
加了链接以后, 文本就不是不同的文本了, 而升级为超文本 ( Hypertext)了 !

但是如果你的“足球.txt”还有“广州恒大”几个字, 但是广州恒大的介绍是在你哥们的电脑上, 而他也想把他的文本能链接到你的电脑文件上,这怎么办?
 一个单机运行的软件就不行的, 必须得有网络 , 有网络还不够,你得解决通信的问题。 
你就想:既然上面的文本是超文本,并且需要把你好哥们的文本传输到你的电脑上才能看,  那通信方法就叫做超文本传输协议吧  HyperText Transfer Protocol  , 简称Http。 

于是你又扩展上一个程序, 不但把你的文本文件都管理起来,还允许通过网络访问, 别人要想通过网络看你的文件, 得发个这样的命令给你的软件:
http://192.168.0.10/football/巴萨罗那.txt   。 你的程序就会找到football 目录下的 巴萨罗那.txt , 读出内容, 发给对方, 并且给他说: 200 成功
如果找不到, 软件就告诉他: 404 对不起,找不到 。
如果你的软件在处理过程中出了错 , 软件就说: 500  唉, 服务器出错了。
这个软件功能强大,专门在网络上别人服务,就叫网络服务器吧, 可以起个名字叫 Apache 。 

可是只看文字太不爽了, 你还想看表格,列表,图片,甚至视频。 干脆自己定义一个描述界面的语言吧, 像这样:
<table>  ---表示表格
<li>  --- 表示列表
<image> -- 表示图片。 
这些都称为标记(markup) ,  所以现在你的超文本就更加丰富了, 这个语言就叫做  Hyper  Text  Markup  Language , 简称为 HTML。 

原来的软件只能显示文本和处理链接, 现在还需要能处理这些标签, 遇到不同的标签, 就显示相应的内容 。 
现在你把你的文本全部用html改写了一遍, 放到了Apache 服务器中,  你的哥们也把他的html放到了他的Apache服务器上, 当然你们的html之间还保持着链接 。 然后你们就可以用新的软件对这些html进行浏览了,  对了,可以把这个软件称为 浏览器。 

由于方便,快捷,能发布图文并茂的信息, 更关键的是可以把散布在全世界各个角落中的计算机连接在一起, HTML , HTTP, 网络服务器,浏览器 迅速普及,    人们上网在也不用使用那些难用的telnet , ftp 了, 最后网络变成了这样:
[置顶] 给小白的Java EE指南(1)_第1张图片
下面的文字来源于百度百科:
因为在互联网技术上的杰出贡献,伯纳斯·李被业界公认为“互联网之父”。他的发明改变了全球信息化的传统模式,带来了一个信息交流的全新时代。然而比他的发明更伟大的是,伯纳斯·李并没有像其他人那样为“WWW”申请专利或限制它的使用,而是无偿的向全世界开放。伯纳斯·李本来可以在金钱上与盖茨一比高低,但他的这一举措却为互联网的全球化普及翻开了里程碑式的篇章,让所有人都有机会接触到互联网,也圆了那些。com公司创建者们的富翁梦。即便如此,伯纳斯·李仍然十分谦虚,总是以一种平静的口气回应:“我想,我没有发明互联网,我只是找到了一种更好的方法。”
[置顶] 给小白的Java EE指南(1)_第2张图片
互联网之父 伯纳斯·李



分享是美德 :如果你读完觉得还不错, 就动动手指分享给朋友吧。 

------------------------------------------------------------------------------------------------------------------------------- 
加入QQ群: 135769418   每周日晚工作15年的IBM架构师定期分享,   还可以一起做项目实战, 可是真的项目需求哦,涉及大量Android,iOS, Web开发的技术, 同学们做完后参加工作,技术上就不用愁了。

扫描二维码, 关注"coderising" 微信公共号, 更多精彩文章。
[置顶] 给小白的Java EE指南(1)_第3张图片

你可能感兴趣的:(html,http,浏览器,服务器)