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跟進調用過程。