Eclipse中Tomcat插件的安装和与调试
我们且不管Eclipse能否成为真正的集大成者,但据笔者在J2EE开发上的使用,Eclipse就已锋芒毕露,比先前的Visual Age for Java强劲了许多,更显得即插即用,下载一个Tomcat插件,就能很容易的调用外部独立安装的Apache Tomcat进行JSP、Servlet的调试。还是先睹为快,来看看Eclipse加上Tomcat来跟踪调试Servlet有多简单吧!
我们需要先到去下载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" "">
<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描述文件,在浏览器中键入“:8080/ServletDemo/TestServlet”,就可以看到 “5! = 120”了,是吗?
下面我们在“n *= i;”那一行设一断点来跟踪计算过程。在浏览器窗口中按刷新按钮,然后返回Eclipsep窗口,是不是在在断点那一行出现了蓝条呢?下面的过程熟悉Visual Age for Java的读者应该明白了吧,按F6跟踪到下一语句,按F5跟进调用过程。