問題タブ [contextpath]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Web アプリでコンテキストを処理する賢い方法はありますか?
Java では、Web アプリは WAR にバンドルされています。デフォルトでは、多くのサーブレット コンテナがアプリケーションのコンテキスト名として WAR 名を使用します。
したがって、 myapp.war はhttp://example.com/myappにデプロイされます。
問題は、webapp がその「ルート」を「ルート」または単に「/」と見なすのに対し、HTML はアプリケーションのルートを「/myapp」と見なすことです。
サーブレット API と JSP には、これを管理するのに役立つ機能があります。たとえば、サーブレットで response.sendRedirect("/mypage.jsp") を実行すると、コンテナーはコンテキストを先頭に追加し、URL を作成します: http://example.com/myapp/mypage.jsp ".
ただし、たとえば HTML の IMG タグではそれができません。<img src="/myimage.gif"/> を実行すると、おそらく 404 が返されます。これは、実際に必要だったのが "/myapp/myimage.gif" であるためです。
多くのフレームワークには、同様にコンテキストを認識する JSP タグがあり、JSP 内で正しい URL を作成するさまざまな方法があります (特に洗練された方法はありません)。
コーダーにとって、「App Relative」URL と絶対 URL のどちらを使用するかを判断するのは重要な問題です。
最後に、オンザフライで URL を作成する必要がある Javascript コードと、CSS 内に埋め込まれた URL (背景画像など) の問題があります。
この問題を緩和して回避するために他の人がどのような手法を使用しているかに興味があります。多くの場合、サーバーのルートまたは使用しているコンテキストに単純にパントしてハードコーディングします。私はすでにその答えを知っています、それは私が探しているものではありません。
職業はなんですか?
java - Tomcat がコンテキストを認識しない
私は Web アプリケーションを持っており、オープン SUSE で tomcat-5.5.27、Eclipse 3.4 を使用しています。私はEclipseからそれを使用します(展開、実行、デバッグなど...)Tomcatがそれらを公開するいくつかのJNDIリソース(データソース)を設定する必要があります。これらのリソースは、\META-INF\context.xml で定義されるようになりました。これはうまくいきます。
しかし、このファイル (context.xml) を tomcat-5.5.27/conf/context.xml または tomcat-5.5.27/conf/Catalina/localhost/myapp.xml に移動すると、ファイル。
何が問題になる可能性がありますか?
私のcontext.xml:
java - ユーザーが操作せずにサーブレットを実行するにはどうすればよいですか
サーブレットを実行して、リクエストからサーバー名、サーバーポート、およびContextPathを取得したいと思います。しかし、ユーザーが対話してサーブレットを呼び出したくありません。このサーブレットをJavaコードで実行したい。それが可能かどうかはわかりません。おすすめをお願いします。
java - Java サーブレット コンテキスト ルート
サーブレットのコンテキスト ルートとして複数のエントリを持つことは許されますか?
たとえば、すべての Sun の例では/catalog
、コンテキスト ルートとして単一または類似のものを使用していますが、それも/catalog/furniture
同様でしょうか?
サーブレット 2.4 仕様は、ここでは具体的ではありません。
Context Path
ServletContext
:このサーブレットが含まれる に関連付けられたパス接頭辞。このコンテキストが、Web サーバーの URL ネーム スペースのベースにある「デフォルト」のコンテキストである場合、このパスは空の文字列になります。それ以外の場合、コンテキストがサーバーの名前空間のルートにない場合、パスは「/」文字で始まりますが、「/」文字で終わりません。
html - html タグの推奨事項は何ですか?
<base>
HTMLタグ が実際にどこでも使われているのを見たことがありません。その使用に落とし穴がありますか?それは私がそれを避けるべきであることを意味しますか?
現代の本番サイト(または他のサイト)で使用されていることに気づかなかったという事実は、私のサイトのリンクを単純化するための便利なアプリケーションがあるように見えますが、私はそれを嫌がります。
編集
ベースタグを数週間使用した後、ベースタグを使用することで、最初に表示されたものよりもはるかに望ましくないいくつかの主要な落とし穴を見つけることになりました。基本的に、ベースタグへの変更href='#topic'
とhref=''
ベースタグの下での変更は、デフォルトの動作とは非常に互換性がなく、デフォルトの動作からのこの変更により、制御できないサードパーティのライブラリの信頼性が非常に低くなる可能性があります。 予期しない方法で、デフォルトの動作に論理的に依存するためです。多くの場合、変更は微妙であり、大規模なコードベースを処理するときにすぐには明らかでない問題につながります。それ以来、私が経験した問題を以下に詳述する回答を作成しました。したがって、の広範な展開をコミットする前に、リンクの結果を自分でテストしてください。これ<base>
が私の新しいアドバイスです。
tomcat - Tomcatとコンテキストパス
NetbeansでWebアプリケーションを作成し、そのアプリケーションを「aa-bb.war」というファイルにパッケージ化しました。プロジェクトをNetBeansで実行すると、「localhost:8080 / aa/bb」でプロジェクトにアクセスできます。これはすべて良いです。
ただし、.warファイルを標準のTomcatインストールに移動すると、問題が発生します。.warを「webapp」ディレクトリにドロップすると、「webapp / aa-bb」に展開されますが、本当に必要なのは「webapp / aa / bb」です(「-」と「/」の間にあることに注意してください)。 「aa」と「bb」)...したがって、bbは「aa」のサブディレクトリにある必要があります。
これについての私の理解は、tomcatが.warのファイル名を使用して展開ディレクトリを作成するためです。したがって、warは「aa-bb」と呼ばれるため、明らかにハイフンを使用します。私の「context.xml」ファイルには正しいパス「aa/bb」がありますが、Tomcat 5+は.warで指定されたコンテキストパスを無視し、代わりにファイル名に基づいてパスを作成することを読みました。
tomcatにサブディレクトリを使用させるにはどうすればよいですか(結果のURL("aa-bb"と"aa / bb")のわずかな違いのように見えるかもしれません)が、実際には取得できない理由で大きな問題です。今すぐに(ただ物事を複雑にします)。
jboss - Jboss のコンテキスト パス
現在、JBOSS でデプロイされている war があります。Jboss で WAR のコンテキスト パスを知りたい場合、どこを見ればよいですか? サーバー.xml?
java - Tomcat Web アプリケーション コンテキストの変更
私は、ルート コンテキスト ("/") の下で設計され、常に動作する Web アプリケーションを持っています。したがって、すべてcss
、js
およびリンクは/
(たとえば/css/style.css
) で始まります。ここで、この Web アプリケーションを別のコンテキスト (たとえば/app1
) に移動する必要があります。itemを使用server.xml
して、構成ファイルを変更し、新しいコンテキストで Web アプリケーションを起動するのは簡単です。しかし、すべてのリンクが正しくないため、Web ページは壊れています。新しいルート コンテキストではなく、古いルート コンテキストを指します。app1
[Context path=""]
/css/style.css
app1
環境。「コンテキスト」変数を前に付けて各リンクを修正せずに、この問題を修正する魔法の方法はありますか? 使用サーバー - Tomcat 5。アプリケーションは Java で作成され、JSP、Struts2、Spring、および UrlRewrite フィルターを使用します。さらに興味深いのは、理論的な議論が行われているような問題と戦った実際の経験を聞くことです。ありがとうございました。
app1
PS UrlRewrite フィルターはコンテキスト内でのみ機能するため、どのように役立つかわかりません。そのため、のようなリンクへのリクエストは/css/style.css
渡されません。
java - JBoss アプリケーションの完全なパス
Java コードからアプリケーションの URL アドレスを取得する方法はありますか? getContextPath() からの値だけでなく、完全なアドレスを意味します。http://localhost:8080/etcのようなもの
apache - Tomcat 5.5 - 同じパスを使用する複数のコンテキスト
同じパスを使用して複数のコンテキストをセットアップすることは可能ですか? 例えば: