struts2完全捕獲404錯誤的方法

2021-06-22 09:37:30 字數 737 閱讀 3529

目前在做乙個網路應用程式,struts2 + spring + hibernate,伺服器是tomcat。希望使用者在ie位址列亂敲的時候,所敲入的所有未定義的url都能被程式捕捉到,然後轉到乙個自製的404錯誤處理頁面。

首先查閱網上的資料,得知可以在web.xml中加入這麼一段:

404/error/404.jsp

這樣,所以未找到的404錯誤都會轉到/error/404.jsp接受處理。

但是經過試驗,我發現以.action結尾的url會先被struts2框架所捕獲,而不會直接轉入web.xml中配置的處理頁面。這樣,如果在struts.xml沒有配置相應的action,則會在tomcat裡輸出錯誤:

雖然最後也能轉入web.xml中配置的處理頁面,但是這樣在命令臺瞎輸出一些東西,非常不便於程式的管理和除錯,所以還得想辦法讓struts2框架處理未定義的action。

查閱網上資料,發現可以在struts.xml中,新增乙個預設的package,然後在這個預設的package中,新增乙個預設的action,讓這個action轉向404錯誤處理頁面:

/error/404.jsp

預設的package的特點就在於不定義namespace屬性,這樣所有未定義的namespace都會轉向這裡。name="default"是為了便於閱讀,其實name是什麼都可以,也可以為空:name=""。

然後還要在其它已定義的package中也新增預設的action,轉向404錯誤處理頁面。這樣就可以完全處理所有的404錯誤了。

struts2 捕獲404錯誤

當訪問乙個不存在頁面時,一般顯示404錯誤,這是乙個很不友好的頁面,很多 都會讓應用捕獲這個404錯誤,並跳到指定的友好頁面。在struts2中你可以按下面方法進行設定 在struts.xml中新增 pages error.html 其中 指明了當訪問的鏈結不存在時,預設指向 pagenotfund...

struts2 捕獲404錯誤的常用方法

先看效果圖 登陸頁面 主頁面 隨便輸加上標點符號 隨便輸的action 方法一 編寫 web.xml 404error code 404.htmllocation error page 注 1.所以未找到的404錯誤都會轉到 404.jsp 接受處理。2.但是經過試驗,我發現以.action結尾的u...

struts2 捕獲404錯誤的常用方法

先看效果圖 登陸頁面 主頁面隨便輸加上標點符號 隨便輸的action 方法一 編寫 web.xml 404 404.html 注 1.所以未找到的404錯誤都會轉到 404.jsp 接受處理。2.但是經過試驗,我發現以.action結尾的url會先被struts2框架所捕獲,而不會直接轉入web.x...