首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

將 AspectJ 整合至 Eclipse + Lomboz + XmlBuddy Web 開發環境

     編輯:Java 程式設計入門

一、配置 Eclipse 開發環境

1. 下載所需插件

  • Eclipse SDK 3.0.2:官方下載
  • XMLBuddy 2.0.62:XML 開發編輯支援,官網
  • Lomboz 3.0.1 N20050106:Web 開發支援(JSP、Servlet 高亮編輯),官網
  • AJDT 1.2 for Eclipse 3.0:AspectJ 開發插件,官網(註:連結可能需修正)
  • VE Runtime 1.0.2.2:Visual Editor 執行環境,官網
  • GEF Runtime 3.0.1:圖形編輯框架,下載
  • EMF SDO Runtime 2.0.2:建模框架,下載

說明:當時最高版本 AJDT 支援 Eclipse 3.0.2,故其他插件選擇對應最高版本。

2. 安裝插件

解壓後在 Eclipse 中:Help → Software Updates → Find and Install → 從本地安裝。

3. 設定視角

Window → Perspective 設定 AspectJ(無需特殊設定)與 Lomboz:

  • A. 設定 JDK tools.jar 路徑指向安裝的 J2SDK 目錄。
  • B. 設定 Server Definition:選 Apache Tomcat 5.0.x,配置 Server lib 與 Project lib,將 %tomcat_home%/common/lib 相關套件加入。注意某版本(如 5.0.27)需修改 E:\eclipse3.0.2\plugins\com.objectlearn.jdt.j2ee_3.0.1\servers\tomcat50x.server,將兩處 -Djava.endorsed.dirs= 改為 -Djava.endorsed.dirs="${serverRootDirectory}/common/endorsed"。

4. 自訂視角選單

Window → Customize Perspective,將 AspectJ 與 Lomboz 相關項目加入 New 選單,便於新建專案。

二、將 AspectJ 整合到 Web 專案

  1. 新建 AspectJ 專案。
  2. 在專案中新建 Lomboz J2EE Module。
  3. 新建 Servlet 並設定 url-mapping 為 /*。
  4. 新建 Aspect,攔截 doGet(..),在執行前後加入 Advice(如輸出 HTML 標籤)。
  5. 部署專案:預設打 WAR 會報錯,需修改 build.xml,移除打包步驟,直接將 dist 資料夾複製到 tomcat_home/webapps/ 下。

範例 Aspect 代碼片段:

public aspect HelloWorldAspect {
    pointcut captureHttpRequest(HttpServletRequest request, HttpServletResponse response) :
        execution(public void HelloWorld.doGet(HttpServletRequest, HttpServletResponse))
        && args(request, response);

    before(HttpServletRequest request, HttpServletResponse response) throws IOException :
        captureHttpRequest(request, response) {
        response.setContentType("text/html");
        ServletOutputStream out = response.getOutputStream();
        out.println("Adding a title using AspectJ!");
    }

    after(HttpServletRequest request, HttpServletResponse response) throws IOException :
        captureHttpRequest(request, response) {
        ServletOutputStream out = response.getOutputStream();
        out.println("");
    }
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved