专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Javaweb源码视频:Java源码学习思路

Javaweb源码视频:Java源码学习思路

更新时间:2020-02-27 09:42:06 来源:动力节点 浏览1813次


  JavaWeb开发源码


  在阅读Tomcat等源码前,一定要有一定的积累。我的切实体会,也可以说是比较好的阶梯是:


Javaweb源码视频:Java源码学习思路


  1、写过一些Servlet和JSP代码。注意,不是用什么Struts,它是很难接触到Servlet精髓的。用好Struts只是皮毛。


  2、看过《Servlet和JSP核心编程》


  3、看过Sun公司的Servlet规范


  4、看过http协议的rfc,debug过http的数据包


  如果有以上基础,我也不建议你开始读Tomcat源码。我建议你在阅读Tomcat源码前,读过Struts源码,Struts源码比WebWork要简单得多。这个框架是可以100%读懂的,至少WebWork我没有100%读懂。我曾经因为读懂了Struts源码,自己写过一个Web框架。


  当然,在读Struts框架前,最好看过它的MailReader等demo,非常非常不错的。


  如果你做过一些Struts项目,那么读它时就更得心应手了。


  在读Struts前,建议看看mvnforum的源码,它部分实现了Struts的功能,虽然这个BBS做得不敢恭维。


  如果你读过Struts,再开始考虑Tomcat源码阅读吧。


  不过,我还是不建议直接读它,先读读onJava网站上的系列文章《HowTomcatWorks》吧,它才是Tomcat的最最简易版。它告诉你HttpServletRequest如何在容器内部实现的,Tomcat如何通过Socket来接受外面的请求,你的Servlet代码如何被Tomcat容器调用的(回调)。


  学习JSP,一定要研读容器将JSP编译后的Servlet源码。


  为什么我总是称呼Tomcat为容器,而不是服务器?这个疑问留给大家吧。


  如果你一定要读Tomcat,那么就读Jetty吧。至少它是嵌入式,可以直接在eclispe里面设置断点debug。虽然Tomcat也有嵌入式版本。


Javaweb源码视频:Java源码学习思路


  Java数据库源码阅读


  我建议,先读读Sun的JDBC规范。


  我想你一定写过JDBC的代码,那么这时候可以开始阅读源码了。


  如果了解JDBC规范(接口),那么它的实现,JDBCDriver就一定要开始了解,我的建议是,读读mysql的jdbc驱动,因为它开源、设计优雅。在读mysql的JDBC驱动源码时,建议看看mysql的内幕,官方正好有本书,《MysqlInternals》,我五年前读过一部分。比如你可以知道mysql的JDBC驱动,如何通过socket数据包(connect、query),给这个C++开发的mysql服务器交互的。


  通过上面的阅读,你可以知道,你的业务代码、JDBC规范、JDBC驱动、以及数据库,它们是如何一起协作的。


  如果你了解这些内幕,那么你再学习Hibernate、iBatis等持久化框架时,就会得心应手的。


  读过JDBC驱动,那么下一步一定要读读数据库了。而正好有一个强大的数据库是用Java开发的,Hsqldb。它是嵌入式数据库,比如用在桌面客户端软件里,如MailClient。


  Java通讯及客户端软件


  我强烈推荐即时通讯软件wildfire和Spark。你可以把wildfire理解成MSN服务器,Spark理解成MSN客户端。它们是通过XMPP协议通讯的。


  我曾经在一个项目中,定制过Spark,当然也包括服务端的一些改动。所以它们的源码我都读过。


  我之所以推荐它们。是因为:


  1、XMPP够轻量级,好理解


  2、学习Socket通讯实现,特别是C/S架构设计


  3、模块化设计。它们都是基于module的,你既可以了解模块化架构,还可以了解模块化的技术支撑:Java虚拟机的ClassLoader的应用场景。


  4、EventDriven架构。虽然GUI都是Event驱动的,但Spark的设计尤其优雅


  这么说吧,读它们的源码,你会为做一名程序员而自豪,因为无论是他们的架构设计还是代码,都太漂亮了。


  Java企业级应用


  当然了,就是Hibernate、Spring这类框架。


  在读Spring源码前,一定要先看看RodJohnson写的那边《J2EEDesignandDevelopment》,它是Spring的设计思路。注意,不是中文版,中文版完全被糟蹋了。


  在读Hibernate源码前,一定要读读GavinKing写的那本《HibernateinAction》,同时,应该再读读MartinFowler写的《企业应用架构模式》,它专门谈到持久化框架的设计思路。当你觉得这两本书读透了,再去看它们源码吧。


  而且,在读源码前,你会发现它们用到很多第三方Jar包,二三十个,你最好把那些Jar包先一个个搞明白。


  说到企业应用,一定会涉及到工作流。我当年读过jBPM的源码,网上有介绍jBPM内核的文章(银狐)。我感觉它的内核也就两千行,不要害怕。我曾经阅读jBPM源码的博客。


  当然了,读工作流源码,前提是一定要对其理论模型有深入的了解,以及写过一些demo、或做过一些项目。


  dojo源码它的架构设计得很优雅,仿Java的import和extends。但实际应用起来一塌糊涂。我们当年基于这个开发了自己的框架,不过我不是主力。


  Flex源码Flex08年底刚刚开源后,我就用它做过一个中型项目,应该说是国内的技术先行者。当时市面没有有深度的书,也没有开源项目。我纯粹是看Flex的Help文档和源码,把项目搞定的。两三年过去了,现在觉得系统设计得蛮优雅的。


Javaweb源码视频:Java源码学习思路


      以上就是动力节点Java培训机构小编介绍的“Javaweb源码视频:Java源码学习思路”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>