2014-10-17 42 views
2

我正在使用帶有JSTL的Java servlet和JSP頁面的Web應用程序。Java/JSTL:把所有的URL放在一個枚舉中是一個好主意嗎?

我想找到一種方法:
1)易於重構的URL
2)對於任何鏈接,很容易地發現正是頁/ servlet的引用它。通過這種方式進行更改時,應該更容易知道其他方面的潛在影響。

我正在考慮使用枚舉來存儲URL。

這是個好主意嗎?如果是這樣,通過JSTL引用它的最佳方式是什麼?有沒有其他方法可以實現相同的目標?

//example code 
public enum SiteUrl { 
    HOME("/"),CART("/cart"),PROFILE("/my-profile"); 

    private final String url; 

    private SiteUrl(String url){ 
     this.url = url; 
    } 

    public String getUrl(){ 
     return url; 
    } 
} 

回答

0

我更喜歡DB而不是枚舉。原因如下:

  • 不容易維護枚舉類,因爲其他人也需要 更新它。
  • 如果您的應用程序不支持熱部署,則需要在添加新url時重新啓動應用程序 。
  • 通常情況下,您需要首先處理請求,例如清潔參數 部分,然後直接執行。數據庫接口可以執行此操作。
+0

對於從數據庫中檢索URL的類,它會爲每個url使用1個方法,還是採用參數的通用方法? – WoodenKitty 2014-10-17 05:24:12

+0

數據庫結構和接口都基於您的真實需求和設計。我假設一個具有不同參數的URL直接指向一個JSP。但是,數據庫交互需要更多時間,你的速度更快。所以你需要考慮你的應用程序的真實環境。 – 2014-10-17 06:38:31

1

不可以。您可以在部署描述符文件中定義所有與導航相關的東西。把它放到代碼中是逆行的一步。

+0

你好,你能解釋一下爲什麼這是一個逆行的步驟嗎?我想知道 :) – WoodenKitty 2014-10-24 03:50:51

相關問題