0

スプリング コントローラの 1 つに、説明できない非常に奇妙な動作があります。

これが私が持っているものです。非常にシンプルなコントローラー。

@RequestMapping(value="/doSomething")
public void doSomething(@RequestParam int value, HttpSession session) {

    System.out.println("Lorem");

    // Some stuff later on done here

    System.out.println("ipsum");

}

マップされた URL を要求すると、コントローラーは内部に無限ループがあるように動作します。したがって、出力「Lorem」から始まり、次に「ipsum」になり、メソッドを離れる代わりに、メソッドの最初から再び開始されます。外部から複数回呼び出されることはありません。誰かがこの動作を知っているか、手がかりを持っていますか? さらに、メモリが約 1.5 GB まで大幅に増加し、100% の CPU 使用率がすべてのコア全体に広がるため、出力速度が遅くなることがわかりました。ご協力ありがとうございます。

4

2 に答える 2

1

あなたのハンドラーメソッドは私には正しくないようです。通常、ViewResolver によってビューに解決される文字列を返す必要があります。

@RequestMapping(value="/doSomething")
public String doSomething(@RequestParam int value, HttpSession session) {
   // ....
  return "somethingdone";
}
于 2013-07-12T04:41:08.957 に答える