0

現在、アプリケーションに組み込みの 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 を作成しました:Memory データベース ファイル /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 からの私の唯一の必要性は、私のコードで tomcat に渡された URL を取得するためにインターセプトすることです。次に、URL を解析して [処理を行い]、http ペイロードを作成して、http 応答を返します。

特に 3] について、何かポインタをいただければ幸いです。

ありがとう!

4

2 に答える 2

3

わかりました。最初の質問ですが、server.xmlは必要ありません。あなたが最初の投稿のコードをチェックするならば、彼らはそこでパラメータを設定しています。これがserver.xmlがカプセル化するものです。実際には、Tomcatは、Javaファイルで定義しているプロパティのserver.xmlを解析し、catalina呼び出しを開始します。ただし、埋め込まれているため、代わりにクラスでこれらすべてのパラメーターを設定しています。

2番目の質問については、ログディレクトリを確認し、何が解析されているかを確認してください。ポートを呼び出すと、サービスがすでにリダイレクトされているはずなので、サービスの開始後に何かが発生しています。いずれにせよ、http:// localhost:8089を試して、tomcatから何が返ってくるかを確認してください。サーバー自体から何らかの応答が返されるはずです。この「http:// localhost:8089 / mywebapp / index.html」のようにすると、作成されたコンテキストにアクセスしようとしているため、正しく構成されていない可能性がありますが、これは現時点での推測です。

最初にこれを試して、何が返ってくるか教えてください。この時点からトラブルシューティングを行い、その意味でもっと支援できるかどうかを確認できます。

于 2011-04-14T05:28:46.373 に答える
0

簡単な質問ですが、これは Windows ですか、それとも Linux ですか? Linux の場合、構成ファイルは通常 /etc/tomcat6 にあります。(少なくともubuntuではそうです)。インストールしたバージョンを返信してください。私はあなたを助けることができるかもしれません。ここももう少し詳しく説明する必要があると思います。Tomcat は Linux のサービスでもあるため、ubuntu でアクセスするには tomcat を起動する必要があります。

$: sudo service tomcat6 start

次に、ローカルホストのポート 8080 (通常は変更されていない場合) で tomcat を起動します。したがって、localhost:8080 と入力して、Tomcat の構成用の Web サイトにアクセスすると、It works プロンプトが表示されます。他にご不明な点がございましたら、お気軽にお問い合わせください。できる限りお答えいたします。

于 2011-04-14T04:08:39.220 に答える