• 締切
  • すぐに回答を!

Spring AOPについて

  • 質問No.9625717
  • 閲覧数74
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (1/1)

会員制のネットショッピングサイトを想定して模擬開発をしております。
ログインしていない方が買い物かごに商品を入れようとすると、ログインするように促す画面に遷移するように作りたいのですが、
、画面遷移がうまく出来ません。ちなみにログインしている方が買い物かごに商品を入れたときの画面遷移は出来ております。

買い物かごを管理しているコントローラ内で以下のようなsessionが無い場合の処理を加えましたがうまくいきませんでした。
returnの値を変えてもうまくいきませんでした。
if (session.getAttribute("user") == null) {
return "redirect:/";
}
実行するとjava.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed
というエラーが出てきます。

会員を管理するインターセプターを作成しており、そちらでアクセス制限をかける処理を行っております。
JoinPointは@Beforeを指定しております。Adviceを実行したいパッケージ名・クラス名・メソッド名などは指定しており、
実行対象メソッドに@RequestMappingが付与されていると処理を実行すると条件付けしています。
そこで、ログインしていない人が何らかの処理を実行しようとするとログインするように促す画面に遷移するように処理しております。


コントローラとインターセプタの処理を見直しても思うように画面遷移が出来ない際は、どのような点に着目すれば良いのでしょうか。
ご意見お待ちしております。

※OKWAVEより補足:「Webシステム開発」についての質問です。

回答 (全1件)

  • 回答No.1

ベストアンサー率 50% (1/2)

java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed

ソースがないと正直お答えするのが難しいところですが、上記エラーが出ているということは、レスポンスを返した後にリダイレクトを行なっているからエラーが出ているということになります。
一度処理の流れを追ってみてはどうでしょう?
リダレクトが行われる前にレスポンスがどこかで行われているはずです。

http://javatechnology.net/spring/spring-boot-eclipse-debug/
お礼コメント
OTLkinako

お礼率 100% (1/1)

お忙しい中ご回答ありがとうございました。
投稿日時:2019/06/14 17:19
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ