問題タブ [jakarta-ee]
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 - EJBはまだ生きていますか?
プロジェクトでまだセッション EJB またはエンティティ EJB を使用していますか? なんで?
web-services - WebServiceTransportException: Unauthorized [401] in Spring-WS
Spring WS を介して Web サービスに接続できるように Web アプリを構成するのに苦労しています。クライアント側 Spring-WS のドキュメントの例を使用しようとしましたが、最終的に WebServiceTransportException が発生します。XML 構成は次のようになります。
アプリケーションをプログラムで構成することはできましたが、一部のセッターが Spring が期待する形式を使用しなかったため、この構成を Spring XML 構成に「転送」することはできませんでした。(HttpState.setCredentials(...) は 2 つのパラメーターを取ります)。構成は、社内の他の Spring-WS クライアント コードから持ち上げられました。
これは機能する構成です。
私の問題を解決する方法を知っている人はいますか?私が目にしたすべてのチュートリアルには、最初の構成がリストされています。messageSender オブジェクトに資格情報を設定すると、それらは無視されるようです...
java - JSTL で EL を使用して Enum 値にアクセスする
私はそのように定義されたステータスと呼ばれる列挙型を持っています:
VALID
JSTL タグからの値にアクセスしたいと思います。特にタグのtest
属性。<c:when>
例えば
これが可能かどうかはわかりません。
jakarta-ee - Glassfish でルート (/) コンテキストとして EAR 内にある WAR をどのように展開しますか?
war1.war と war2.war の 2 つの WAR を含む EAR ファイルがあります。私の application.xml ファイルは次のようになります。
これにより、war2.war がhttp://localhost:8080/war2locationで利用できるようになります。これは正しいですが、war1.war はhttp://localhost:8080//にあります。2 つのスラッシュに注意してください。
私は何を間違っていますか?
EAR に含まれている場合、WAR の sun-web.xml ファイルは無視されることに注意してください。
jakarta-ee - ユーザーがWebサイトにデータを複数回投稿するのを防ぐにはどうすればよいですか
Webアプリケーション(J2EE)に取り組んでいますが、ブラウザーからの二重投稿を処理するために使用できるオプションを知りたいです。
私が過去に見て使用したソリューションはすべてクライアント側です。
- ユーザーが送信ボタンをクリックするとすぐに無効にします。
- POST-Redirect-GETパターンに従って、ユーザーが[戻る]ボタンをクリックしたときにPOSTが発生しないようにします。
- フォームのonSubmitイベントを処理し、JavaScriptを使用して送信ステータスを追跡します。
可能であれば、サーバー側のソリューションを実装したいと思います。上記のアプローチよりも優れたアプローチはありますか、それともクライアント側のソリューションが最適ですか?
java - 静的コンテンツを提供するためのサーブレット
2 つの異なるコンテナー (Tomcat と Jetty) に Web アプリケーションをデプロイしますが、静的コンテンツを提供するためのデフォルトのサーブレットは、使用したい URL 構造を処理する方法が異なります (詳細)。
したがって、独自の静的コンテンツ (画像、CSS など) を提供するために、webapp に小さなサーブレットを含めることを検討しています。サーブレットには次のプロパティが必要です。
- 外部依存なし
- シンプルで信頼性の高い
- ヘッダーのサポート
If-Modified-Since
(つまり、カスタムgetLastModified
メソッド) - (オプション) gzip エンコーディング、etags などのサポート
そのようなサーブレットはどこかで入手できますか? 私が見つけることができる最も近いものは、サーブレットブックの例 4-10です。
更新:私が使用したい URL 構造は、疑問に思っている場合に備えて、次のとおりです。
そのため、パスに対するものでない限り、すべての要求をメイン サーブレットに渡す必要がありstatic
ます。問題は、Tomcat のデフォルト サーブレットが ServletPath を考慮しないことです (そのため、メイン フォルダー内の静的ファイルを検索します) が、Jetty は考慮します (そのため、static
フォルダー内を検索します)。
tomcat - ログイン後に常にindex.jspに転送するようにTomcatを設定するにはどうすればよいですか?
現在、Tomcatのログインサポートは、ユーザーがログインしていないことをアプリケーションが判断したときの最初の場所にユーザーをリダイレクトします。
この特定のアプリケーションでは、常にに戻るように強制する必要がありますindex.jsp
。
これはWARの単純な構成オプションであると確信してweb.xml
いますが、Googleで答えを見つけられませんでした。
jakarta-ee - Apache Geronimo を使用した jndi デフォルト コンテキストの java.lang.String - どのように?
サーブレットでは、次のことを行います。
Apache Geronimo インスタンス (WAS CE 2.1) で値をキーpropertyNameに関連付けるにはどうすればよいですか?
Websphere AS 6 では、管理コンソールの [Name Space Bindings] ページで JNDI ルックアップ用にこれらのプロパティを構成できますが、私の人生では、Web 上のコミュニティ エディションでこれを行う方法が見つかりません。
jakarta-ee - エンタープライズ Web ベース システムの「正常性」を測定するために使用できるツールは何ですか?
エンタープライズ Web ベース システム (J2EE でプログラムされていますが、これはより一般的な質問です) の保守を支援していますが、エンタープライズ システムの「健全性」を測定するための優れたツールはありますか? たとえば、サーバーのメモリ容量をチェックしたり、バッチ実行のステータスをチェックしたり、一定時間内に処理されたレコード数をチェックしたりするツールはありますか?
これを回答ごとに 1 つのツールに限定したくはありませんが、回答ごとに複数のツールを使用しても問題ありません。
java - Java Webデプロイメント:コードをビルドしますか、それとも.warをデプロイしますか?
J2EE / Java Webアプリをデプロイする2つの主な方法(非常に単純な意味で):
組み立てられたアーティファクトをプロダクションボックスにデプロイする
ここでは、.war
他の場所(またはその他)を作成し、本番用に構成して(場合によっては、多数のボックスに対して多数のアーティファクトを作成し)、結果のアーティファクトを本番サーバーに配置します。
- 長所:本番ボックスに開発ツールがなく、テストからのアーティファクトを直接再利用できます。デプロイを行うスタッフは、ビルドプロセスの知識を必要としません。
- 短所:アーティファクトを作成および展開するための2つのプロセス。事前に構築されたアーティファクトの潜在的に複雑な構成により、プロセスのスクリプト化/自動化が困難になる可能性があります。バイナリアーティファクトをバージョン管理する必要があります
プロダクションボックスにアーティファクトを作成します
ここでは、開発者ボックスでローカルにビルドおよびデプロイするために日常的に使用されるのと同じプロセスが、本番環境にデプロイするために使用されます。
- 長所:維持する1つのプロセス。そしてそれは頻繁な使用によって徹底的にテスト/検証されています。事前に作成されたアーティファクトの後にカスタマイズするよりも、アーティファクトの作成時に構成をカスタマイズする方が簡単な場合があります。バイナリアーティファクトのバージョン管理は必要ありません。
- 短所:すべてのプロダクションボックスに必要な潜在的に複雑な開発ツール。展開スタッフはビルドプロセスを理解する必要があります。テストしたものをデプロイしていません
私は主に2番目のプロセスを使用しましたが、確かに必要があります(別の展開プロセスの時間/優先順位はありません)。個人的には、「本番ボックスですべてのコンパイラをクリーンアップする必要がある」などの議論は購入しませんが、(別のアーティファクトを作成するのではなく)テストしたものをデプロイする際のロジックを確認 できます。
ただし、Java Enterpriseアプリケーションは構成に非常に敏感であるため、アーティファクトを構成するための2つのプロセスで問題が発生するように感じます。
考え?
アップデート
具体的な例を次に示します。
OSCacheを使用し、ディスクキャッシュを有効にします。構成ファイルは.warファイル内にある必要があり、ファイルパスを参照します。このパスは、環境ごとに異なります。ビルドプロセスは、ユーザーの構成された場所を検出し、戦争に配置されたプロパティファイルがユーザーの環境に対して正しいことを確認します。
デプロイにビルドプロセスを使用する場合は、本番環境に適した構成を作成する必要があります(例production.build.properties
)。
「アセンブルされたアーティファクトを本番ボックスにデプロイする」に従う場合、(誤った)OSCacheプロパティを抽出し、本番環境に適したものに置き換えるための追加のプロセスが必要になります。
これにより、同じことを達成するための2つのプロセスが作成されます。
したがって、質問は次のとおりです。
- これは「本番環境でコンパイル」せずに回避できますか?
- そうでない場合、これは価値がありますか?「DonotRepeatYourself」よりも「本番環境でコンパイルしない」の価値は大きいのでしょうか?