私はstruts 1.2を使用しています。リクエストパラメータとデータベースに呼び出されたアクションを入力したいと思います。そのコードを通過している他のリクエストは、リクエストパラメータのようなリクエストデータを入力するのはいいですか、customRequestProcessorからログインしたユーザID?アプリケーションのパフォーマンスが低下するのはなぜですか?リクエストプロセッサインスタンスが1つしかないので、すべての要求がデータベースにデータを挿入するため、すべての要求のパフォーマンスが低下しますか?データベース内のリクエストパラメータを挿入するカスタムリクエストプロセッサ
0
A
答えて
0
ストラットの使用を選択したとき、その決定の基準には、Webフレームワークが含まれていて、フォームや検証などを簡単に作成できるはずです。 StrutsクラスActionを拡張するときは、doExecuteメソッドをオーバーライドしますが、引き続きパラメータからHttpServletRequestにアクセスできます。そのメソッド内で、これらのデータをすべてデータベースに挿入できます。私はこれを簡単に行うことができ、あなたのデザインは標準デザインに忠実であると思います。
上記の手順は、新しいcustomRequestProcessorを作成するよりはるかに簡単だと思います。あなたの状況では、新しいリクエスト・プロセッサーを作成する具体的な理由はありません。
一方、のパフォーマンスについて懸念がある場合は、要件に応じてストラットをまったく使用しないでください。私のポイントは、Tomcat(または他のサーブレットコンテナ)のみを使用し、HttpServletを拡張してdoPost()メソッド内で単純なサーブレットを作成し、HttpServletRequestにアクセスしてデータベースに書き込むことです。 customRequestProcessorとこの単純なサーブレットのパフォーマンスを測定したい場合は、単純なサーブレットの方がずっと高速です。
関連する問題
- 1. Apacheのhttpリクエストにリクエストパラメータを挿入できますか?
- 2. データベースに挿入
- 3. データベースに挿入
- 4. PHPデータベースに挿入する
- 5. データベースへの挿入
- 6. 内部的にデータベースにデータを挿入する方法は?
- 7. データベースに余分な行を挿入する挿入
- 8. データベースにチェックボックスのエントリを挿入する
- 9. ASP.NETのデータベースに行を挿入する
- 10. Accessデータベースに挿入
- 11. 1つのレコードを挿入するだけで別のデータベースに挿入する
- 12. MySQLデータベース内の複数の配列の値を挿入
- 13. PHPが解凍して内容をデータベースに挿入します
- 14. CクライアントをMySQLデータベースに挿入する
- 15. AccessデータベースにNULL値を挿入する
- 16. データベースに画像を挿入する
- 17. データセットレコードをデータベースに挿入する
- 18. データベースにデータを挿入する(sqlexception)
- 19. SQLiteデータベースに変数を挿入する
- 20. sqlデータベースにハイパーリンクを挿入する -
- 21. データベースに外部データを挿入する
- 22. sqliteデータベースにdatetimeを挿入する
- 23. データベースにJSONオブジェクトを挿入する
- 24. LINQデータベースにデータを挿入するクエリ
- 25. Codeigniter Multiデータベースに値を挿入する
- 26. データベースにテキストを挿入する
- 27. データベースにデータを挿入するには?
- 28. イメージをAndroidデータベースに挿入
- 29. 二重SQLiteデータベースを挿入
- 30. イメージをデータベースに挿入
こんにちはJasonさん、お客様のプロセッサの動作は遅くなりますが、サーブレットは速く動作するのはなぜですか?私はすでにStruts 1.2で実稼働していますので、この機能をStruts 1.2に追加したいと思います。パフォーマンスに影響を与えないような解決策を見つけようとしています。 – hirentshah
のお客様ですか?サーブレット・コンテナからロードするライブラリ(jar)を増やすと、起動に時間がかかるだけでなく、より多くのメモリー(ヒープ)が必要になります。リクエストが来たらサーブレットの呼び出しはcustomRequestProcessor拡張したActionクラスに渡します。それではまた、私は時間差はおそらくms以下では重要ではないと思う。しかし、**多くのhttpリクエスト**でテストを実行して経験的に比較するのに少し時間を費やすことをお勧めします。 – Jasonw
すでにstruts 1.2で実装しているので、カスタムリクエストプロセッサでRequestProcessorを拡張し、いくつかのスーパーメソッドをオーバーライドします。これは、アクションの実行方法とフォームの検証方法を変更したいからです。その実装は具体的であり、依然としてデフォルトのリクエスト・プロセッサーを使用したいと考えています。それが私たちの背後にある理由でした。 – Jasonw