struts2設置了excludePattern報could not found action or re.錯誤

相信如果找到我這裏的時候應該已經看到了那個分析struts.action.excludePattern工作流程的文章 那我再說一次

struts2 默認的攔截器是StrutsPrepareAndExecuteFilter

執行過濾的是doFilter方法
這裏寫圖片描述

圈住的區域是請求與白名單進行比對的方法。

跳到它的方法處可以看到
這裏寫圖片描述
和我們設置的正則比對的是getUri方法

而這個方法會優先返回javax.servlet.include.servlet_path和ServletPath。然後返回真正的uri從項目名之後截取的uri。
這裏寫圖片描述
但是我們看log知道的錯誤是直接getRequestURI();
這裏寫圖片描述

所以這裏的問題一般都在於
javax.servlet.include.servlet_path
ServletPath
和 你的正則表達式加上了項目名。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章