質問: java初心者なので初歩的な質問かもしれません... 今、java JSFを使って開発をしています。 そこで、strutsを使っていたときよりも画面遷移が遅いことに気が付きました。 strutsを使っていたときは、Actionでforwardしていましたが、 JSFではBeanでredirectを使っています。 調べたところ、redirectはforwardよりも遅くなってしまうことがわかりました。 JSFでの画面遷移を速くする方法がありましたら、教えていただけないでしょうか? あわせまして、 return "hogehoge.xhtml"; return redirect("hugahuga.xhtml"); の違いも教えてもらえないでしょうか。
回答: リダイレクトに時間がかかっているというより、リダイレクトされた後のJSF内部の処理に時間がかかっているのだと思います。 JSFはフレームワーク内部で、すごくコストのかかることをたくさんやっているので遅いものです。 しかし、そのおかげで色々なことを気にせずに画面の実装に注力できるため、 慣れると生産性は上がります。 パフォーマンスが求められるシステムであれば、そもそもJSFはやめたほうがいいかもしれませんね。 ガラケーとかにもJSFは不向きです。 return "hogehoge.xhtml" がフォワードで return "hogehoge.xhtml?faces-redirect=true" がリダイレクト じゃなかったでしたっけ? redirectっていうメソッドがあるんですね。