2014-01-27 23 views
3

我想在某個控制器中設置一個斷點來調試它。 但是在我的hybris應用程序中使用了所有Spring XML聲明文件和註釋,很難判斷哪個Spring Controller最終服務於某個HTTP請求。hybris - 哪一個Spring Controller服務於我的請求?

hybris中有一種簡單的方法可以知道哪個Controller服務某個HTTP請求?也許有些工具可以輸入URL,它告訴你請求將解析到哪個Controller。或者也許可以改進日誌記錄,以便記錄這些信息的某個Spring類?

+1

[Pearl Jade's answer](http://stackoverflow.com/a/21380375/873263)似乎是最好的方法。您唯一可能遺漏的是所有請求映射的打印輸出。 [這些](http://stackoverflow.com/questions/11082818/spring-mvc-get-all-request-mappings)[two](http://stackoverflow.com/questions/10898056/how-to-find- all-controllers-in-spring-mvc/10899118#10899118)幾個月前幫助過我。 –

回答

3

你可以擴展Spring類HandlerInterceptorAdapter來創建一個新的攔截器,它將在Controller被調用之前被調用。

在它的preHandle(HttpServletRequest, HttpServletResponse, Object handler)方法中,處理程序是將提供請求的控制器,因此您可以將控制器的名稱記錄在日誌文件中。記得爲這個班級設置相應的日誌級別。

您需要在spring-mvc-config.xml中將此攔截器添加到<mvc:interceptors>

0

U可以使用eclipse來搜索指定的路徑或動作。大部分操作都映射到相應的控制器。 例如:與搜索相關的任何操作都將映射到SearchPageController.java,並且與產品相關的任何操作都將映射到ProductPageController.java。 希望這有助於...

+0

謝謝,但我正在尋找更準確的方法。 –

相關問題