相信如果找到我這裏的時候應該已經看到了那個分析struts.action.excludePattern工作流程的文章 那我再說一次
struts2 默認的攔截器是StrutsPrepareAndExecuteFilter
執行過濾的是doFilter方法
圈住的區域是請求與白名單進行比對的方法。
跳到它的方法處可以看到
和我們設置的正則比對的是getUri方法
而這個方法會優先返回javax.servlet.include.servlet_path和ServletPath。然後返回真正的uri從項目名之後截取的uri。
但是我們看log知道的錯誤是直接getRequestURI();
所以這裏的問題一般都在於
javax.servlet.include.servlet_path
ServletPath
和 你的正則表達式加上了項目名。