問題タブ [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 - 「/」サイトをJavaEEパッケージに移行する際のコンテキストパス参照の処理
既存のJavaサイトは、Tomcatの「/」の下で実行されるように設計されており、「/ dir / dir/page」のような固定絶対パスへの特定の参照が多数あります。
これをJavaEEパッケージに移行したい場合、サイトはコンテキストルートで実行する必要があります。たとえば、「/ dir / dir/page」は「/my-context-root/ dir / dir/page」になります。
これで、コンテキストルートはServletRequest.getContextPath()を使用して簡単に実行できますが、それでも、大規模なコードベースを移行するために多くのコード変更が行われることを意味します。これらの参照のほとんどは、リテラルHTMLです。
サーブレットフィルターを使用して、出力されたHTMLを書き換えてみましたが、これは問題なく機能しているようです。しかし、それはある程度のオーバーヘッドをもたらし、私はそれを恒久的な解決策とは見なしません。( サーブレットフィルターのアプローチについては、EnforceContextRootFilter-1.0-src.zipを参照してください)。
この問題を解決するためのより良いアプローチはありますか?私が見逃している明らかなものはありますか?すべてのコメントに感謝します!
servlets - サーブレット コンストラクターと init() メソッド
なぜサーブレットで init() メソッドが必要なのですか? コンストラクターを使用して初期化することはできませんか?
java - サーブレット アプリケーションでの内部ビュー レイヤー テンプレート ページの保護
Java での MVC Web アプリケーションについて非常に基本的な質問があります。
生の JSP の昔から Seam のような現在の技術に至るまで、非常に基本的なパターンは常に、最初に要求を受け入れたコントローラーから、クライアントに送信される出力を作成するビュー層への内部ディスパッチでした。
通常、この内部ディスパッチは、URL を使用してサーブレット コンテナーに新しいリソースを要求することによって行われます (構成の追加レイヤーによってメカニズムが隠されている場合があります)。これらの URL のマッピングは、外部への「実際の」URL も定義する同じ web.xml によって行われます。
特別な対策を講じない限り、ビュー レイヤーに直接アクセスできることがよくあります。"register.seam" をバイパスして直接 "registered.xhtml" に移動できる Seam "registration" デモをご覧ください。これは潜在的なセキュリティ上の問題です。少なくとも、ビュー テンプレートのソース コードが漏洩します。
これが基本的なサンプル アプリケーションにすぎないことは承知していますが、これらの内部リソースを外部から見えないようにするために特別な措置を講じる必要があることも奇妙です。
URL エントリ ポイントを制限する最も簡単な方法は何ですか?
内部要求によってのみアクセスできる魔法の URL パスコンポーネントである「WEB-INF」ディレクトリのようなものはありますか?
java - ファイルサイズを制限するためにサーブレットからのアップロードを中止する
アプリケーションにアップロードできるファイルのサイズを制限したい。これを実現するには、アップロードするファイルのサイズが制限を超えたときに、サーバー側からアップロード プロセスを中止したいと考えています。
HTTP 要求が完了するのを待たずに、サーバー側からアップロード プロセスを中止する方法はありますか?
java - requestDispatcherを取得する
requestDispatcherを取得するために、リクエストではなくservletContextを使用する利点は何ですか?
と使用
java - プラグインによる Java Web アプリケーションの拡張
この Web アプリケーションは、管理不能な混乱にまで成長しました。
私はそれを共通の「フレームワーク」部分 (ページや画像などの Web 要素をまだ含む) と、追加の機能と画面を追加するいくつかのモジュールに分割したいと考えています。このリファクタリングは、サードパーティの拡張機能のプラグイン システムとしても役立つようにしたいと考えています。
すべてのモジュールは、展開の個別の単位である必要があり、理想的には war または jar ファイルです。
いくつかの通常の war ファイルを作成しようとしましたが、Tomcat は (サーブレットの仕様に従って) これらの war ファイルを互いに完全に分離しているため、たとえばクラスを共有できません。
「メイン」クラスパスを表示できるようにするには、プラグインが必要です。
プラグインを一覧表示したり、構成を設定したりできるように、プラグインをある程度制御するには、アプリケーションをメインにする必要があります。
プラグイン自体 (依存関係を指定しない限り) と、同じ Tomcat で実行されている可能性のある他の無関係な Web アプリケーションとの間の完全な分離を維持したいと考えています。
「メイン」アプリケーション URL プレフィックスの下にルートを設定したいのですが、それは必須ではありません。
私は Tomcat を使用したいと思っています (大きなアーキテクチャの変更は、あまりにも多くの人々と調整する必要があります) が、EJB または OSGi の世界でのクリーンなソリューションについても聞きたいです。
servlets - Glassfish からの完了したダウンロードを追跡する
Glassfish サーバーによって提供される完了したダウンロードを追跡できるようにしたいと考えています。サーブレット ライフサイクル リスナーを使用した 100% 正しい解決策を見つけることができませんでした。誰かがより良いアイデアを持っていますか?
java - Cookie getMaxAge
Cookieの最大値を取得できません。常に-1が返されます。
クッキーの作成:
Cookieを取得する:
私はいつも年齢を取得しています=-1
また、Firefox Cookieの有効期限をチェックインすると、奇妙な日付が表示されます。
どうも
jsp - jsp ページにサーブレットを含めるにはどうすればよいですか?
jspページにサーブレットを含めることは可能ですか? もしそうならどのように?
java - web.xml でリスナーの順序を決定する方法
Java webapp に多数のサーブレット コンテキスト リスナーがあり、それぞれが環境に関する情報を収集しています。
それらのいくつかは、別のリスナーによって収集された情報に依存しています。しかし、リスナーが登録されて呼び出される順序を特定できないため、コードを複製する必要があります。
リスナーが web.xml での順序で登録されていることは理解していますが、これは私には少しあいまいに聞こえます。あいまいすぎて信頼できません。
私の問題を解決する方法のヒントはありますか?