夜深了,很深了,很多人還在努力的鉆研著,為了夢想而拼搏.希望各位馬到功成,賺多多的錢..
一直使用tomcat,今天想到一個問題,自定義404錯誤頁面,
為了獲得很好的用戶感受,是不應當向用戶暴露404這樣的頁面的,
問題的出發點是我在Struts2中定義錯誤頁面,
在Struts2中是這樣定義的:
這就是說在訪問action是.如果沒有找到action就訪問這個頁面,
但是我如果我不用.do或者.action的樣式,而直接使用.jsp或者.html的方式來訪問頁面的請,struts就不會處理了.結果是404錯誤依然出現.
現在已經不是struts的處理范圍了,那么這應當是應用的處理范圍,經查證,在工程的web.xml中可以設置自定義錯誤頁面,設置如下:
現在再訪問該該工程下面一個不存在的頁面,將跳轉到自定義的pagenotfound頁面,這樣,struts中的那個default-action-ref 配置是可以去掉的了.因為404交給tomcat處理了.
然后,然后我輸入http://localhost/asdfasdfafd一個不存在的地址,結果404依然出現,
回頭想一下,剛才我們的web.xml是在某一個應用下面的,他處理的應當是本應用的404,而http://localhost/訪問的是tomcat自已的應用,那么這個web.xml配置就應當在webapp/Root/下面的應用來配了,
Root目錄下面放著Tomcat的應用,把里面換成自已的就行了.
于是現在再進行輸入不存在的地址,成功跳向自定義的錯誤頁面.
注重用戶感受,就是注重細節.
一直使用tomcat,今天想到一個問題,自定義404錯誤頁面,
為了獲得很好的用戶感受,是不應當向用戶暴露404這樣的頁面的,
問題的出發點是我在Struts2中定義錯誤頁面,
在Struts2中是這樣定義的:
- < default-action-ref ? name = "pagenotfound" > </ default-action-ref > ??
- ??
- < action ? name = "pagenotfound" > ??
- ???????????? < result > /pagenotfound.html </ result > ??
- </ action > ??
這就是說在訪問action是.如果沒有找到action就訪問這個頁面,
但是我如果我不用.do或者.action的樣式,而直接使用.jsp或者.html的方式來訪問頁面的請,struts就不會處理了.結果是404錯誤依然出現.
現在已經不是struts的處理范圍了,那么這應當是應用的處理范圍,經查證,在工程的web.xml中可以設置自定義錯誤頁面,設置如下:
- < error-page > ??
- ???????? < error-code > 404 </ error-code > ??
- ???????? < location > /pagenotfound.html </ location > ??
- </ error-page > ??
現在再訪問該該工程下面一個不存在的頁面,將跳轉到自定義的pagenotfound頁面,這樣,struts中的那個default-action-ref 配置是可以去掉的了.因為404交給tomcat處理了.
然后,然后我輸入http://localhost/asdfasdfafd一個不存在的地址,結果404依然出現,
回頭想一下,剛才我們的web.xml是在某一個應用下面的,他處理的應當是本應用的404,而http://localhost/訪問的是tomcat自已的應用,那么這個web.xml配置就應當在webapp/Root/下面的應用來配了,
Root目錄下面放著Tomcat的應用,把里面換成自已的就行了.
于是現在再進行輸入不存在的地址,成功跳向自定義的錯誤頁面.
注重用戶感受,就是注重細節.
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
