VisualAgeforJava是IBM所开发的JavaIDE开发环境。早在几年前,就已经占了Java开发平台的半壁江山,而近来已有好长时间没出新版本了,原因在于IBM全心投入了Eclipse项目的研究,好多Java开发者肯定也注意到了这一点。Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到(官方网站http://www.eclipse.org/),并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。
我们且不管Eclipse能否成为真正的集大成者,但据笔者在J2EE开发上的使用,Eclipse就已锋芒毕露,比先前的VisualAgeforJava强劲了许多,更显得即插即用,下载一个Tomcat插件,就能很容易的调用外部独立安装的ApacheTomcat进行JSP、Servlet的调试。还是先睹为快,来看看Eclipse加上Tomcat来跟踪调试Servlet有多简单吧!
我们需要先到http://www.sysdeo.com/eclipse/tomcatPlugin.html去下载Tomcat插件,下载后直接解压缩到Eclipse的plugins目录下。之后再启动Eclipse,在IDE中选择“Window”菜单的“CustomizePerspective…”,展开弹出窗口的Other结点,可以看到下面有Tomcat选项,打上钩按“OK”关闭窗口。做完了这一步,在IDE的工具栏就会有变化,是不是兴奋地看到了可爱的Tomcat小猫图标呢!不过别急着去按小猫按钮,还需要到“Window”菜单的“preferences”去做些设置,正确选择你所安装的Tomcat版本,指定Tomcat主目录和Tomcat的server.xml配置文件,然后展开Tomcat,选下面的JVMSetting,选择JRE为“DetectedVM”,确认无误后按“OK”关闭窗口即可。到这儿,所有的配置工作都做完了,按下小猫图标启动Tomcat,就可以看?onsole窗口出现“StartingserviceTomcat-Standalone……”等Tomcat启动信息了。
启动成功后,我们做一个简单的Servlet加以测试。选IDE的“File”下面的“Project”菜单,注意要选择“TomcatPrject”,然后按“Next”直到结束,其间根据窗口提示信息输入Servlet名称、工作目录等信息,以及选择是否自动更新server.xml。为简单起见,我们选择自动更新server.xml文件,虚拟目录为名ServletDemo。在工程上加入自己的Servlet类,作为示例,笔者定义了一个简单的TestServlet类,来计算5!(5的阶乘)等于多少,Servlet代码和web.xml部署描述器如下所示:
publicclassTestServletextendsHttpServlet{
privatestaticfinalStringCONTENT_TYPE="text/html;charset=GBK";
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType(CONTENT_TYPE);
PrintWriterout=response.getWriter()
intn=1;
for(inti=1;i<=5;i++){
n*=i;
}
out.println("<html>");
out.println("<head><title>TestServlet</title></head>");
out.println("<body>");
out.println("<P>5!="+n+"</P>");
out.println("</body></html>");
out.close();
}
}
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.2//EN""http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/TestServlet</url-pattern>
</servlet-mapping>
</web-app>
保存好上面的代码和XML描述文件,在浏览器中键入“http://127.0.0.1:8080/ServletDemo/TestServlet”,就可以看到“5!=120”了,是吗?
下面我们在“n*=i;”那一行设一断点来跟踪计算过程。在浏览器窗口中按刷新按钮,然后返回Eclipsep窗口,是不是在在断点那一行出现了蓝条呢?下面的过程熟悉VisualAgeforJava的读者应该明白了吧,按F6跟踪到下一语句,按F5跟进调用过程。