我有一个事件监听器,其源代码如下:
@EventListener
public void handleEvent(ServletRequestHandledEvent event) { ... }
但是,我不仅捕获了控制器请求,还捕获了JS / CSS请求,我知道如何区分它们吗?
答案 0 :(得分:0)
如果您的JS / CSS请求以/css
/ /js
(即/js/app.js
,/css/styles.css
)开头,则可以通过选中URL
来区分它们。使用event.getRequestUrl()
访问它,并对字符串(即url.startsWith("/css")
)进行正确的匹配。
或覆盖public boolean supports(Object handler)
中的SimpleServletHandlerAdapter
方法并检查((HandlerMethod) handler).getBean() instanceof YourController