問題タブ [servlets]
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 - コマンドラインから Java WAR のコンテキストでコードを実行する
コマンドラインから webapp の Java クラスにアクセスできるようにするコードを作成するにはどうすればよいでしょうか。
たとえば、コマンド ライン インターフェイスを備えた Java クラスがあり、webapp のコンテキストでコードを実行したり、DB にアクセスしたりできます。Tomcat で WARred アプリをホストしているマシンにログオンし、対話できるようにしたいです。
どこから探し始めるべきですか?
ありがとう
java - Tomcat6CometProcessor内からの書き込みは非ブロッキングです
潜在的に多数のクライアントに対してマルチキャストを効果的に実行しているCometProcessor実装があります。すべてのクライアントに伝播する必要のあるイベントが発生すると、CometProcessorは応答を書き出すクライアントのリストをループする必要があります。応答の書き込みがブロックされると、低速のクライアントがイベントの配信に悪影響を与える可能性があります。例:
更新:私自身の質問に答えます。CometProcessorからの書き込みがブロックされています:
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html
ページ下部の表を参照してください。
java - Eclipse から JSP をデバッグする
Eclipse内からJSPをデバッグするための優れたツールを知っている人はいますか? アプリの実行中に (私の場合は JBoss の下で) Eclipse 内でブレークポイントを設定して監視したり、Java コード/タグをステップ実行したりできるようにしたいと考えています。
おそらく、JSP から生成されたサーブレット クラスをデバッグするのはかなり簡単ですが、あまり魅力的ではありません。
java - 2 つ以上のサーブレット間で変数またはオブジェクトを共有するにはどうすればよいですか?
2 つ以上のサーブレット間で変数またはオブジェクトを共有する方法があるかどうかを知りたいのですが、「標準的な」方法を意味します。これは良い習慣ではないと思いますが、プロトタイプを作成するためのより簡単な方法です。
使用する技術によるかどうかはわかりませんが、Tomcat 5.5 を使用します。
単純なクラス (パブリック属性、文字列、int など) のオブジェクトの Vector を共有したいと考えています。私の意図は、DB のような静的データを持つことです。明らかに、Tomcat が停止すると失われます。(これはテスト用です)
java - getPathInfo() で追加のパス情報を取得するためにサーブレットをマップする方法
Tomcat が余分なパス情報をサーブレット名の一部として扱っているという問題があります。これにより、Web アプリケーションの一連の RESTFul 機能が壊れています (クローラーに適したリンクに ?name=value のペアではなく、追加のパス情報を使用しています)。
以前は正しく機能していましたが、明示的なマッピングを追加し、Invoker
サーブレットを提供するために以前使用していたサーブレットを削除すると、機能しなくなりました。たとえば、次のリンクを考えてみましょう。
MyServlet
以前は正しく呼び出され、「/param1/param2/param3」が によって返されgetPathInfo()
ましたHttpServletRequest
。
現在、Tomcat は MyServlet/param1/param2/param3 をサーブレットとしてロードしようとしているようです。
[2008/09/23:16:44:23 -0700] "GET /servlet/MyServlet/param1/param2/param3 HTTP/1.0" 404
これらを web.xml で定義およびマッピングする方法を次に示します。「http://mydomain.com/servlet/MyServlet」を押すだけで問題なく動作します。
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 - 静的コンテンツを提供するためのサーブレット
2 つの異なるコンテナー (Tomcat と Jetty) に Web アプリケーションをデプロイしますが、静的コンテンツを提供するためのデフォルトのサーブレットは、使用したい URL 構造を処理する方法が異なります (詳細)。
したがって、独自の静的コンテンツ (画像、CSS など) を提供するために、webapp に小さなサーブレットを含めることを検討しています。サーブレットには次のプロパティが必要です。
- 外部依存なし
- シンプルで信頼性の高い
- ヘッダーのサポート
If-Modified-Since
(つまり、カスタムgetLastModified
メソッド) - (オプション) gzip エンコーディング、etags などのサポート
そのようなサーブレットはどこかで入手できますか? 私が見つけることができる最も近いものは、サーブレットブックの例 4-10です。
更新:私が使用したい URL 構造は、疑問に思っている場合に備えて、次のとおりです。
そのため、パスに対するものでない限り、すべての要求をメイン サーブレットに渡す必要がありstatic
ます。問題は、Tomcat のデフォルト サーブレットが ServletPath を考慮しないことです (そのため、メイン フォルダー内の静的ファイルを検索します) が、Jetty は考慮します (そのため、static
フォルダー内を検索します)。
java - Struts with Tilesで実際のリクエストURLを取得するには?
Struts で Tiles を使用している場合...
...たとえば/WEB-INF/jsp/layout/newLayout.jsp
、ユーザーが入力/クリックした実際の URL の代わりに、 のようなURL を取得します/context/action.do
。
新しい Struts バージョン 1.3.x 以降では、javaranchに記載されているソリューションを使用し、 request 属性を使用して実際の URL を取得できますORIGINAL_URI_KEY
。
しかし、Struts 1.2.x でこれを行う方法は?
servlets - Websphere 6.1 で HTTPS を強制する
Http を使用してページを要求したユーザーに、安全な https バージョンを使用させるにはどうすればよいでしょうか?
アプリケーション サーバーとして Websphere 6.1 を使用し、開発環境として Rad 7 を使用しています。
ありがとうダミアン
java - Java Web サービスを使用しているときに HttpServletRequest オブジェクトにアクセスするにはどうすればよいですか
Java 6、Tomcat 6、および Metro を使用しています。WebService および WebMethod アノテーションを使用して、Web サービスを公開しています。リクエストに関する情報を入手したいと思います。次のコードを試してみましたが、wsCtxt は常に null です。WebServiceContext で null を取得しないようにするには、どの手順を実行する必要がありますか。
つまり、次の行を実行して wsCtxt の null 以外の値を取得するにはどうすればよいでしょうか?
MessageContext msgCtxt = wsCtxt.getMessageContext();