Java方向的读者预期

1、  有Java 语言基础( Java SE ),想进一步了解 Java EE 和 WEB 前台页面开发。

2、  有WEB 页面开发经验 / 经历,但感觉知识不够系统,希望加强学习。


Java方向的主要内容

WEB开发相关知识: HTTP 协议, HTML 标准, CSS 和 JavaScript 。参加本部分的学习,要求有计算机基础知识,最好了解一门计算机编程语言(不限于Java )。

J ava  EE入门:基于 J ava  EE Tutorial官方资料, 选择其中 最常用的 部分 进行 学习 。  参加本部分的学习,要求有Java SE 基础。


Java方向的目标

有一个现状,那就是很多公司的WEB 开发职位是既负责前台又负责后台,但我们心里要明白, Java Web 开发相关的工作,是由两个相对独立的知识体系组成的。

前台,也就是在浏览器环境中,以HTML 为载体,以 Javascript 为控制中枢,由 CSS 做布局和美化。后台,也就是在应用服务器(比如 Tomcat )中,以 Java 为载体,以 Servlet 为控制中枢,由 JSP 和自定义标签负责信息展示。相应的,前台后台各有自己的框架和工具。比如,前台的 Ext , JQuery ;后台的 Struts , Spring ,  Hibernate 。

前后台之间的纽带,就是HTTP ,当然还有大名鼎鼎的 Ajax ,以及基于 Ajax 的类库,如: DWR 。

我觉得,所有的类库、框架和工具,都是对基础知识的封装,但类库和框架的出现,让很多人无暇顾及底层的基础。由于框架往往屏蔽了很多细节,所以在碰到问题的时候,不了解底层的人,往往有一种无处下手去解决的感觉。

框架可以提高开发效率,要学;基础可以提高开发人员的判断力,有助于更好、更高效的利用技术,也要学。因为现在很多人学习框架的热情很高,所以 我的这一系列计划,就致力于给那些想学基础又有些怵头的朋友们,提供一点助力 。


总体计划

读S 计划第一期总时长为一年,大概从 2009 年 11 月起,到 2010 年 10 月止。其中,最后三个月要留出来,与参加 C 方向学习的朋友们共同阅读《代码大全》的部分内容,所以,实际的学习时间为 9 个月。

按照“读S 计划”的设想,学习内容都按照项目方式来组织, Java Web 方向,一共有五个项目,总体安排如下表所示:

项目

周期

主要学习资料

HTTP 1.1

7 周

RFC 2616:

ftp://ftp.isi.edu/in-notes/rfc2616.txt (纯文本)

http://www.w3.org/Protocols/rfc2616/rfc2616.html (HTML )

中文译文:

http://www.blogjava.net/sunchaojin/archive/2009/05/31/279164.html

HTML 4.0.1

7 周

W3C规范:

http://www.w3.org/TR/html401/cover.html#minitoc

ECMAScript第三版

9 周

ECMA官方:

http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf

CSS 1 

和 

CSS 2.1

7 周

CSS1:

http://www.w3.org/TR/CSS1/

CSS2.1:

http://www.w3.org/TR/CSS2/cover.html#minitoc

Java EE 5 

Tutorial

精选

10周

Sun官方:

http://java.sun.com/javaee/5/docs/tutorial/doc/


第一个项目(HTTP  协议  1.1 版)的具体学习计划

HTTP协议 1.1 版 共同学习项目的主要阅读材料为 RFC2616 ,该规范自 1999 年通过后,至今未有大的变化。阅读 HTTP 协议规范,有助于了解 WEB 前后台通信的原理和细节。学习的重点包括: HTTP 协议包结构, HTTP 请求 / 应答模型, HTTP 的主要方法, HTTP 重要返回值的含义, HTTP 的缓冲管理等。

具体计划如下表所示:

单元

时长

学习资料

1

1周

规范1-3 章。

HTTP协议介绍, RFC 所用的语法说明以及 HTTP 协议的基本概念和参数。

重要知识点:

Ø  I ntermediaries

Ø  URI / URL

Ø  Multipart

Ø  相关术语

Ø  主要协议参数

2

1周

规范4-7 章。

HTTP消息结构(概要),  HTTP  请求 / 应答 机制。

重要知识点:

Ø  HTTP Message

Ø  HTTP Request

Ø  HTTP Response

Ø  Entity

3

1周

规范8-9 章。

HTTP链接管理机制, HTTP 方法。

重要知识点:

Ø  Persistent Connection

Ø  GET方法

Ø  PUT方法

Ø  POST方法

Ø  HEAD方法

Ø  DELETE方法

4

1周

规范第10 章:协议的状态码定义。

重要知识点:

Ø  码组的含义(1xx, 2xx, 3xx, 4xx, 5xx )

Ø  常见状态码的含义(200, 400, 403, 404, 500 等等)

5

1周

规范第13 章: HTTP 缓冲处理。

重要知识点:

Ø  缓冲控制机制

Ø  缓冲超时机制

Ø  缓冲验证机制

6

1周

规范第14 章:消息头字段详解

重要知识点:

Ø  常见HTTP 头字段的作用

7

1周

查漏补缺,总结。


学习计划的推进

订出学习计划,还需要一系列的“学习活动”来完成此计划。

在“读S 计划”中,我们为每个主要的学习目标(如: HTTP 、 Javascript )创建一个“共同学习项目”;一个项目由多个“学习单元”构成;每个学习单元有特定的“学习资料”。

考虑到参与学习的人员的组织是松散的,所以通常把“学习单元”作为组织“学习活动”的最小单位。一个学习单元通常对应一周的时间,在一个学习单元内,会依次组织如下学习活动:

1、  分头阅读本单元指定的“学习资料”。
鼓励参与者自行拓展阅读,并把自己认为有价值的资料推荐给其它成员。

2、  KO负责把本单元学习的内容,整理成“知识点”。
每个知识点附带有一个Checklist ,可用于快速检查我们对这个知识点的掌握情况。

3、  自由讨论(形式不限)

4、  安排QQ 群定点、集中讨论和答疑

5、  KO负责对本单元的学习过程进行总结,形成“学习心得”,供后人参考。

6、  PO和 KE 对待提交的成果(知识点、 Checklist 、学习心得等)有审核的权力和义务。


总结一下,一个“共同学习项目”的结构如下:

总学习计划

     |-学习单元

          |-学习资料

               |-知识点

                    |-CheckList

     |-学习心得

     |-衍生资料