我想在某个Controller中设置一个断点来调试它。但是对于我的 hybris 应用程序中的所有 Spring XML 声明文件和注释,很难判断哪个 Spring Controller 最终服务于某个 HTTP 请求。
hybris 中是否有一种简单的方法可以知道哪个控制器服务于某个 HTTP 请求?也许是一些工具,您可以在其中输入 URL,它会告诉您请求将解析到哪个控制器。或者可能为某个将记录此信息的 Spring 类改进日志记录?
我想在某个Controller中设置一个断点来调试它。但是对于我的 hybris 应用程序中的所有 Spring XML 声明文件和注释,很难判断哪个 Spring Controller 最终服务于某个 HTTP 请求。
hybris 中是否有一种简单的方法可以知道哪个控制器服务于某个 HTTP 请求?也许是一些工具,您可以在其中输入 URL,它会告诉您请求将解析到哪个控制器。或者可能为某个将记录此信息的 Spring 类改进日志记录?
您可以扩展 Spring 类HandlerInterceptorAdapter以创建一个新的拦截器,该拦截器将在调用 Controller 之前被调用。
在它的preHandle(HttpServletRequest, HttpServletResponse, Object handler)
方法中,处理程序是为请求提供服务的控制器,因此您可以在日志文件中记录控制器的名称。请记住为此类设置相应的日志级别。
您需要将此拦截器添加到<mvc:interceptors>
您的 spring-mvc-config.xml 中。
你可以使用eclipse来搜索指定的路径或动作。大多数情况下,所有操作都映射到相应的控制器。例如:任何与搜索相关的操作都映射到 SearchPageController.java,任何与 Product 相关的操作都将映射到 ProductPageController.java。希望这可以帮助...