私は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. データベース内のリストを挿入するMySQLdb Python3.6
- 4. postgresデータベースに挿入する
- 5. PHPデータベースに挿入する
- 6. データベースに挿入
- 7. 挿入データベース
- 8. データベースに挿入
- 9. Entity Frameworkを使用してデータベース内にデータを挿入する
- 10. データベースへの挿入
- 11. MySQLデータベースの挿入
- 12. 内部的にデータベースにデータを挿入する方法は?
- 13. ソケット内のリクエストパラメータを取得する
- 14. リッチテキストエディタのコードをデータベースに挿入する
- 15. データベースにチェックボックスのエントリを挿入する
- 16. ASP.NETのデータベースに行を挿入する
- 17. データベースに挿入されていないクエリを挿入する
- 18. データベースに余分な行を挿入する挿入
- 19. データベース内のループ(for)に値を挿入するときに、同じ値が挿入される - ノードjs/sql
- 20. Accessデータベースに挿入
- 21. 1つのレコードを挿入するだけで別のデータベースに挿入する
- 22. MySQLデータベース内の複数の配列の値を挿入
- 23. 挿入私はこのPHPコードによって、データベース内のデータを挿入するPHP
- 24. サーブレットコンテナ内のリクエストパラメータの順序
- 25. 挿入データベースのデータリストボックスのC#
- 26. データベースにレコードを挿入するには
- 27. セッションデータをデータベースに挿入する方法
- 28. データベースにデータを挿入する(sqlexception)
- 29. MySQLデータベースにNaN値を挿入する
- 30. CクライアントをMySQLデータベースに挿入する
こんにちはJasonさん、お客様のプロセッサの動作は遅くなりますが、サーブレットは速く動作するのはなぜですか?私はすでにStruts 1.2で実稼働していますので、この機能をStruts 1.2に追加したいと思います。パフォーマンスに影響を与えないような解決策を見つけようとしています。 – hirentshah
のお客様ですか?サーブレット・コンテナからロードするライブラリ(jar)を増やすと、起動に時間がかかるだけでなく、より多くのメモリー(ヒープ)が必要になります。リクエストが来たらサーブレットの呼び出しはcustomRequestProcessor拡張したActionクラスに渡します。それではまた、私は時間差はおそらくms以下では重要ではないと思う。しかし、**多くのhttpリクエスト**でテストを実行して経験的に比較するのに少し時間を費やすことをお勧めします。 – Jasonw
すでにstruts 1.2で実装しているので、カスタムリクエストプロセッサでRequestProcessorを拡張し、いくつかのスーパーメソッドをオーバーライドします。これは、アクションの実行方法とフォームの検証方法を変更したいからです。その実装は具体的であり、依然としてデフォルトのリクエスト・プロセッサーを使用したいと考えています。それが私たちの背後にある理由でした。 – Jasonw