簡體   English   中英

使用Tomcat獲取請求並創建HTTP響應

[英]Getting request and creating HTTP response using Tomcat

我目前正在嘗試為我的應用程序使用嵌入式Tomcat,並試圖對其進行設置以獲取http請求的URL。

一些背景:

我在此處使用與第一個答案相同的代碼: 如何嵌入Tomcat 6?

我所做的唯一更改是:

private String   catalinaHome = "/home/xyz/tomcat"; // This dir is created and has full access permissions

另外,我正在查看: http : //tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/catalina/startup/Embedded.html

我找不到任何server.xml和tomcat-users.xml,因此由於遇到異常而創建了tomcat-users.xml:內存數據庫文件/home/xyz/tomcat/conf/tomcat-users.xml無法閱讀。

tomcat-users.xml:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>

該代碼使用container.setRealm(new MemoryRealm()); 它從這里出現: http : //tomcat.apache.org/tomcat-4.1-doc/catalina/funcspecs/fs-memory-realm.html我應該有一個server.xml文件,並且默認情況下應該已經創建了一個。

1]我是否需要創建一個server.xml,它的默認值是什么? 我從這里默認放置了一個文件: http : //www.akadia.com/download/soug/tomcat/html/tomcat_server_xml.html ,但是只是想知道正確的做法是什么?

2]當我訪問http:// localhost:8089 / mywebapp / index.html時 ,我得到的只是請求的資源()不可用,盡管我在代碼中的“ webappDir”處有一個index.html頁面

3]我對嵌入式tomcat的唯一需要是進行攔截,以便在我的代碼中將URL傳遞給tomcat。 然后,我可以解析URL [做我的工作],然后創建一個http有效負載並發回http響應。

我將不勝感激任何指針,尤其是對於3]?

謝謝!

好的,對於您的第一個問題,您不需要server.xml。 如果您檢查初始帖子的代碼,他們將在此處設置參數。 這就是server.xml將封裝的內容。 實際上,發生的事情是Tomcat將解析server.xml以獲取您在java文件上定義的屬性,以實例化開始的catalina調用。 但是由於它是嵌入式的,所以您可以在類上設置所有這些參數。

對於第二個問題,請檢查您的日志目錄,然后查看正在解析的內容。 服務啟動后發生了某些事情,因為一旦調用該端口,它就應該已經將您重定向了。 無論哪種方式,只需嘗試http:// localhost:8089並查看從Tomcat得到的回報。 它應該給您從服務器本身返回的某種響應。 如果您像這樣“ http:// localhost:8089 / mywebapp / index.html”那樣操作,則您嘗試訪問創建的上下文,並且該上下文可能配置不正確,但這只是一種猜測。

首先嘗試一下,告訴我您得到了什么。 我們可以從這一點進行故障排除,看看我是否可以在這個意義上提供更多幫助。

快速問題,您正在安裝的是Windows還是Linux? 如果是linux,則配置文件通常位於/ etc / tomcat6上。 (至少是在ubuntu上)。 回復您已安裝的版本。 我也許可以幫助您。 我想我也應該在這里詳細說明一下。 Tomcat也是Linux中的一項服務,因此在ubuntu中,您必須啟動tomcat才能訪問它。

$: sudo service tomcat6 start

然后它將在您的本地主機的端口8080(通常如果未更改)上啟動tomcat。 因此,您鍵入localhost:8080來訪問網站以配置tomcat,從而為您提供“工作原理”提示。 如果您還有其他問題,請告訴我,我會盡力回答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM