2012-10-04 112 views
2

我已經從那裏客戶可以添加一個新用戶的桌面應用程序,可以與其他用戶聊天等等......我有兩個選擇現在:哪一個是最好的方法調用所需的servlet

  1. 要使處理程序的servlet將根據請求對 得到POST請求的處理程序servlet將呼叫所需 的servlet(如loginServletchatServletaddUserServlet等)
  2. 直接調用所需的servlet從客戶端如進行直接 請求chatServlet爲chatloginaddUser

記住我的客戶端是桌面應用程序。哪種方法適用於實施和未來的增強。 謝謝

+2

我想你應該只調用使用HttpClient的網址,並在網上inf.xml文件不同的servlet不同的URL映射如通常的Web應用程序所做的那樣 – Reddy

+0

@Reddy謝謝你讓我的問題更具可讀性。感謝編輯。 –

+0

您是否有Web應用程序,您將部署此Servlet?否則,這個問題沒有多少意義。 –

回答

1

嗯,我認爲你應該採用第一種方法,使用前端控制器模式

應該僅由一個servlet它提供了所有requests.This servlet將代表所有請求的servlet需要一個集中的切入點。

你只需做以下的事情在你的應用程序應用前端控制器模式:

 <servlet> 
     <servlet-name>////servlet name: FrontController</servlet-name> 
     <servlet-class>////Fully qualified servlet name e.g: org.chat.controller.FrontController</servlet-class> 
     </servlet> 
     <servlet-mapping> 
     <servlet-name>FrontController<servlet-name> 
     <url-pattern>/*</url-pattern> 
<servlet-mapping> 
+1

謝謝你的兄弟顯示的方法,但...可以請你給我這種方法的另一個優勢在另一個..?所以我可以在我的文檔中證明爲什麼我選擇這種方法。 –

+0

雅肯定,使用FrontController設計模式的基本思想是減少重複的代碼,異常處理,可測試性。 – Kuldeep

+0

在你的場景中,你可以看到它將幫助你減少重複的代碼,比如聊天會話開始和聊天會話在每個控制器中完成。 您可能想編寫自定義異常,或者您的servlet處理一些異常。異常處理代碼將僅寫入Frontcontroller,因此無需將其寫入每個控制器。 通用邏輯將只寫在前端控制器,如會話管理,身份驗證。因此它會減少代碼行,並幫助您進行測試。 您的loginServlet,chatServlet ...將僅具有所需的邏輯。 – Kuldeep

-1

我無法從問題中清楚地理解您的問題。但我建議你從方法2開始並開始實施。
如果您遇到任何特定問題,請在此發佈。

+0

謝謝弟弟感謝你的努力... –

相關問題