2013-08-22 79 views
0

我有一個在Tomcat服務器上運行的基於Jersey的Rest服務。沒有用戶界面,只是提供一些休息服務的服務器。現在,要訪問此服務,我必須輸入的URL很長。像localhost:8080/MyApp/url_pattern/classPath/method其中MyApp是我部署的webapp,url_pattern是我在web.xml中的servlet映射中定義的模式,classPath和method分別是Class和方法的@Path註釋。是否有可能縮短它,使我擺脫這個URL的MyApp和url_pattern部分。類似於localhost:8080/classPath/methodTomcat:獲取基於Jersey的Rest服務的短URL

PS:有此服務器上運行只有一個Web應用程序,因此具有MyApp部分

回答

1

我不認爲你可以刪除所有你從URL的願望,但你絕對可以刪除MyApp部分沒有點通過使它成爲tomcat的根應用程序。

對此相關鏈接的回答很好地描述了它,如何將您的應用程序設置爲根應用程序。所以,你可以訪問您的REST服務,而無需在URL中的應用程序名稱:

Setting default application in tomcat 7

內容從上面的鏈接複製:

第一種方法

第一關閉你的Tomcat [來自bin目錄(sh shutdown.sh)] 那麼你必須刪除tomcat webapps文件夾的所有內容(rm -fr *),然後將WAR文件重命名爲RO OT.war終於開始你的tomcat [從bin目錄(SH startup.sh)]

第二種方法

離開CATALINA_BASE/webapps中WAR文件,在其原來的名字 - 關閉自動部署並在server.xml文件的Host元素中部署開始。顯式定義 server.xml中的所有應用程序上下文,同時指定path和docBase。你必須這樣做,因爲 您禁用所有的Tomcat自動部署機制,除非它發現在server.xml他們 語境 Tomcat將不再部署應用程序。

注:

,這最後的方法也意味着,爲了使任何更改 任何應用程序,你必須停止和重新啓動Tomcat。

第三種方法:CATALINA_BASE/webapps中的外

將WAR文件(必須是 外以防止重複部署)。 - 在CATALINA_BASE/conf /中放置一個名爲 ROOT.xml的上下文文件。文件 中的單個元素必須具有指向您的戰爭文件位置的docBase屬性。路徑元素不應該被設置 - 它來源於.xml文件的名稱 ,在這種情況下是ROOT.xml。詳情請參閱上述容器 容器。

+0

這幫了很大忙。謝謝。 我設法通過在web.xml中指定URL模式爲'/*'來移除URL中的url-pattern – Rakesh

+0

@Rakesh如果我的答案有幫助,請點擊勾號接受它留下我的回答。接受答案有助於其他人面臨同樣的問題。 –

相關問題