4

私のcontext.xmlファイルでは、次のように設定しました。<Context antiJARLocking="true" path="/" />

プロジェクトを NetBeans から実行すると、正しく動作し、http://localhost:8080/login. 次に、クリーン&ビルドしてTomcat Managerに移動し、warファイルをデプロイすると、何らかの理由でhttp://localhost:8080/appName/login. なぜコンテキストパスを追加しているのか、どこから取得しているのかはわかりませんが、手動で展開するときはいつでもそれを行います. プロジェクトを Netbeans から直接実行するときはいつでも実行しません。NetBeans から直接実行した後、Tomcat Manager に移動すると、/正しいコンテキスト パスの下にデプロイされたアプリが表示されます。.war を手動で展開すると、コンテキスト パスの下に展開されます/appName

4

3 に答える 3

4

war ファイルを「appName.war」としてビルドしているようです。これが、Tomcat が「/appName」の下にデプロイする理由です。

/ でアプリケーションにアクセスできるようにするには、war ファイルの名前を ROOT.war に変更して /webapps にドロップすると、http : //localhost:8080/ でアクセスできるようになります。

于 2012-11-30T07:03:06.250 に答える
1

一部のアプリは、コンテキストパスを変更するにはコードを変更する必要があるように作成されています。このような状況が発生した場合は、サーバーを特定のコンテキストにデフォルト設定する別の方法があります。

ステップ1)これを[tomcat]/conf/web.xmlに入れます

<welcome-file-list>      
    <welcome-file>index.html</welcome-file>
</welcome-file-list>

ステップ2)このファイルをROOT webappフォルダーに追加し、他のすべては同じままにします:index.html(ルートアプリの場合)。通常のリダイレクトではなく、このjavascriptアプローチを使用すると、「リダイレクト」が機能し、同じURLパラメーターを維持できます。

<!doctype html>
<html>
<head>

<script language="JavaScript">
    document.location.href = "/mycontext" + document.location.search;
</script>

</head>

</html>
于 2013-03-09T20:21:54.247 に答える