5

我想在某个Controller中设置一个断点来调试它。但是对于我的 hybris 应用程序中的所有 Spring XML 声明文件和注释,很难判断哪个 Spring Controller 最终服务于某个 HTTP 请求。

hybris 中是否有一种简单的方法可以知道哪个控制器服务于某个 HTTP 请求?也许是一些工具,您可以在其中输入 URL,它会告诉您请求将解析到哪个控制器。或者可能为某个将记录此信息的 Spring 类改进日志记录?

4

2 回答 2

5

您可以扩展 Spring 类HandlerInterceptorAdapter以创建一个新的拦截器,该拦截器将在调用 Controller 之前被调用。

在它的preHandle(HttpServletRequest, HttpServletResponse, Object handler)方法中,处理程序是为请求提供服务的控制器,因此您可以在日志文件中记录控制器的名称。请记住为此类设置相应的日志级别。

您需要将此拦截器添加到<mvc:interceptors>您的 spring-mvc-config.xml 中。

于 2014-01-27T12:02:51.177 回答
0

你可以使用eclipse来搜索指定的路径或动作。大多数情况下,所有操作都映射到相应的控制器。例如:任何与搜索相关的操作都映射到 SearchPageController.java,任何与 Product 相关的操作都将映射到 ProductPageController.java。希望这可以帮助...

于 2014-01-27T11:27:23.193 回答