我一直在關注netbeans電子商務教程,他們設置了introduced a ControllerServlet來處理多個URL。控制器servlet處理多個url的推薦方法是什麼?
但是他們這樣做的方式基本上有一個大的if then else if
聲明:
String userPath = request.getServletPath();
// if category page is requested
if (userPath.equals("/category")) {
// TODO: Implement category request
// if cart page is requested
} else if (userPath.equals("/viewCart")) {
// TODO: Implement cart page request
userPath = "/cart";
// if checkout page is requested
} else if (userPath.equals("/checkout")) {
// TODO: Implement checkout page request
// if user switches language
} else if (userPath.equals("/chooseLanguage")) {
// TODO: Implement language request
}
這真的是在一個單獨的servlet處理多個網址推薦的方法?這種方法看起來很可怕,難以管理。
或者我錯過了一些明顯的方式來處理這個乾淨?
這確實是可怕的。然而,真正體面的前端控制器要複雜得多。他們顯然希望爲初學者保持簡單。我想本教程更願意使用單獨的servlet(因爲Servlet 3.0通過'@ WebServlet'註釋而無需任何XML配置就可以很容易地將servlet註冊爲獨立的微型控制器),而不是在「Front Controller」設計中引入誤導性介紹。另請參閱此相關的問題/答案:http://stackoverflow.com/questions/3541077/design-patterns-web-based-applications – BalusC
@BalusC謝謝。我同意他們應該在樣本中爲每個URL創建一個servlet,並且鏈接的答案再次確認了我關於解決問題的最初想法。非常感激。 –