目录
- 介绍
- Eclipse中查看JavaDoc文档
- Eclipse中查看Java源码
- 总结
介绍
在这篇文章中我们通过继承/扩展HttpServlet实现了我们的HelloWorldServlet,同时还使用Java注解 @WebServlet 来配置它,实现doGet方法中还涉及到了各种各样的Servlet相关的类,比如HttpServletRequest等,那我们能不能看看它们是什么东西吗?又是怎么实现的(就是说能看它们的源代码吗)?
Eclipse中查看JavaDoc文档
首先,我们可以通过它们的JavaDoc文档来了解个大概,我们以前通过把鼠标移动到一个编译错误的地方就会弹出相应的提示。
同样,把鼠标放到源代码中的这些单词上并稍作停留,就会弹出它们的JavaDoc文档。当然,它们的源代码必须使用了能生成JavaDoc的注释(即/**...*/)才行。
我们首先把鼠标放到源代码中的HttpServlet这个单词上,弹出JavaDoc文档提示框:
鼠标移到JavaDoc文档提示框中并点击任何地方,提示框就会获得焦点并在右侧出现滚动条,下拉滚动条就可以看到全部内容。
HttpServlet的JavaDoc文档内容还挺多的,首先第一行最前面是个绿色的标记,然后是全路径的名字。
下面是文字描述,大体意思是:它是一个专门用来供我们继承/扩展的抽象类(abstract class),以创建Web应用的HTTP servlet,它的子类必须覆盖(override)至少一个所列举的方法。这些列举的方法有几个是跟HTTP报文头部中的GET、POST等方法对应。剩下的内容读者可以自行阅读。
现在看,那个绿色的标记应该表示抽象类(abstract class)的意思,因为标记里有个大写的字母A。
再看看HttpServletRequest的JavaDoc文档:
这时是蓝色的标记,有个大写字母I,表示接口的意思。
下面的文字描述:它是继承/扩展自ServletRequest的一个接口(interface),为HTTP servlets提供请求相关的信息,是Servlet容器创建了它的一个对象,并作为参数传递给你的Servlet相关服务方法(比如doGet、doPost等)。
剩下的读者自己去查看,HttpServletResponse也是一个接口。
ServletException、IOException和PrintWriter都是一个大写字母C的绿色标记,应该表示它们是类。
WebServlet前面的标记比较奇怪,是一个蓝色的@符号,这表示它是一个注解(Annotation)。
这些标记应该都是Eclipse添加上去的吧,很形象,便于识别。它们还出现在工程导航(Project Explorer)和大纲(Outline)这两个视图中(它们可以通过Window -> Show View菜单中打开),甚至每一个属性域和方法都有表示访问权限(public、private等)、是否静态(static)等信息。
上面这些标记分别表示Java中的几个基本概念:
- 类
- 抽象类
- 接口
- 注解
其中类的概念我们已经在这篇文章中介绍过,剩下三个在后续的文章中会讨论。
Eclipse中查看Java源码
现在我们可以通过查看JavaDoc可以大致了解一个类、接口、注解等,甚至类的方法、属性域等,它们是什么,怎么用,需要注意什么,输入输出,异常等等。
那如果我想要进一步深入学习一下别人的源代码,从中汲取架构原理、设计思想、技术技巧、代码规范等等,那该怎么查看它们的源代码呢?
首先,你要获取到别人的源代码,当然只能是开源的了,不开源的人家也不会给你啊。那不开源(即闭源)的怎么办?不开源的可以用Java反编译工具(比如jd-gui就是一个Java反编译工具)。所谓反编译,顾名思义就是跟编译相反的动作呗,编译是把Java源码转换成 .class 文件,反编译就是把 .class 文件转换回Java源码。那有人就会问这样一来闭源又有什么意义呢?这就是所谓道高一尺魔高一丈吧。
反编译的事情我们暂且放一边,继续看看在Eclipse中怎么查看Java源码。
先把鼠标移到你要查看源码的那个类或接口或注解上,(Windows系统下)按住键盘的Ctrl键(有些笔记本可能没有这个键)同时摁下鼠标左键,这时候Eclipse的编辑器会打开另外一个标签页,拿HttpServlet尝试,如下图所示:
可以看到,提示说找不到源码,这个JAR包没有关联到源码,你可以点击 Attach Source… 按钮来关联源码,当然前提是你已经获取到对应的源码。
好,我们点击那个按钮试试:
可以看到有两类,一类是源码已经加载到当前这个工作空间中,另一类是在外部的文件夹、JAR包或zip文件。
一般获取到的Java源码通常是一个JAR包,或者是.zip文件(就是一种压缩文件,其实JAR包也是一种压缩文件,它们都可以用压缩/解压缩工具比如RAR打开)。
配置好后点击OK即可。
还有另外一种方式可以关联源码:
就是在工程导航视图中找到该JAR包的节点,右键菜单的属性对话框中有一个配置项是Java Source Attachment,在这也是类似的操作。
比如,我获取到了tomcat的源码,于是配置成:
点击OK,再经过上面的操作之后,就可以打开H文件了:
总结
- 要经常查看JavaDoc文档,这是最好的帮手;
- 我们也要给我们开发的类或其他添加JavaDoc注释;
- 查看Java源码能够从中汲取架构原理、设计思想、技术技巧、代码规范等等;
- Eclipse中把鼠标移到相应位置上就能查看对应的JavaDoc文档;
- Ctrl + 鼠标左键就可以打开对应的源码,没有关联的话可以配置关联;
- JAR包节点的右键菜单属性对话框中也可以配置Java源码的关联。