Visual Age for Java是IBM所开发的Java IDE开发环境。早在几年前,就已经占了Java开发平台的半壁江山,而近来已有好长时间没出新版本了,原因在于IBM全心投入了Eclipse项目的研究,好多Java开发者肯定也注意到了这一点。Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到(官方网站在
http://www.eclipse.org/
),并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。
我们且不管Eclipse能否成为真正的集大成者,但据笔者在J2EE开发上的使用,Eclipse就已锋芒毕露,比先前的Visual Age for Java强劲了许多,更显得即插即用,下载一个Tomcat插件,就能很容易的调用外部独立安装的Apache Tomcat进行JSP、Servlet的调试。还是先睹为快,来看看Eclipse加上Tomcat来跟踪调试Servlet有多简单吧!
我们需要先到 http://www.sysdeo.com/eclipse/tomcatPlugin.html 去下载Tomcat插件,下载后直接解压缩到Eclipse的plugins目录下。之后再启动Eclipse ,在IDE中选择“Window”菜单的“Customize Perspective…”,展开弹出窗口的Other结点,可以看到下面有Tomcat选项,打上钩按“OK”关闭窗口。做完了这一步,在IDE的工具栏就会有变化,是不是兴奋地看到了可爱的Tomcat小猫图标呢!不过别急着去按小猫按钮,还需要到“Window”菜单的“preferences”去做些设置,正确选择你所安装的Tomcat版本,指定Tomcat主目录和Tomcat的server.xml配置文件,然后展开Tomcat,选下面的 JVM Setting,选择JRE为“Detected VM”,确认无误后按“OK”关闭窗口即可。到这儿,所有的配置工作都做完了,按下小猫图标启动Tomcat,就可以看?onsole窗口出现 “Starting service Tomcat-Standalone……”等Tomcat启动信息了。
启动成功后,我们做一个简单的Servlet加以测试。选IDE的“File”下面的“Project”菜单,注意要选择“Tomcat Prject”,然后按“Next”直到结束,其间根据窗口提示信息输入Servlet名称、工作目录等信息,以及选择是否自动更新 server.xml。为简单起见,我们选择自动更新server.xml文件,虚拟目录为名ServletDemo。在工程上加入自己的Servlet 类,作为示例,笔者定义了一个简单的TestServlet类,来计算5!(5的阶乘)等于多少,Servlet代码和web.xml部署描述器如下所示:
public class TestServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter()
int n = 1;
for (int i = 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();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.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窗口,是不是在在断点那一行出现了蓝条呢?下面的过程熟悉 Visual Age for Java的读者应该明白了吧,按F6跟踪到下一语句,按F5跟进调用过程。
我们且不管Eclipse能否成为真正的集大成者,但据笔者在J2EE开发上的使用,Eclipse就已锋芒毕露,比先前的Visual Age for Java强劲了许多,更显得即插即用,下载一个Tomcat插件,就能很容易的调用外部独立安装的Apache Tomcat进行JSP、Servlet的调试。还是先睹为快,来看看Eclipse加上Tomcat来跟踪调试Servlet有多简单吧!
我们需要先到 http://www.sysdeo.com/eclipse/tomcatPlugin.html
启动成功后,我们做一个简单的Servlet加以测试。选IDE的“File”下面的“Project”菜单,注意要选择“Tomcat Prject”,然后按“Next”直到结束,其间根据窗口提示信息输入Servlet名称、工作目录等信息,以及选择是否自动更新 server.xml。为简单起见,我们选择自动更新server.xml文件,虚拟目录为名ServletDemo。在工程上加入自己的Servlet 类,作为示例,笔者定义了一个简单的TestServlet类,来计算5!(5的阶乘)等于多少,Servlet代码和web.xml部署描述器如下所示:
public class TestServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter()
int n = 1;
for (int i = 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();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.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窗口,是不是在在断点那一行出现了蓝条呢?下面的过程熟悉 Visual Age for Java的读者应该明白了吧,按F6跟踪到下一语句,按F5跟进调用过程。
![](https://i-blog.csdnimg.cn/blog_migrate/2f60c0bc47d4178ac5e2b807936153ff.gif)