Java Web應用定製錯誤頁面

2021-06-16 15:58:46 字數 1047 閱讀 5030

在web站點,難以避免使用者輸入錯誤的url,去訪問乙個不存在的檔案,這樣就會導致404錯誤;

也難免使用者輸入錯誤的密碼,導致不能通過認證,產生401錯誤。

類似地,還有一些其他的錯誤**。

通常情況下,web伺服器和應用伺服器都配置了預設錯誤頁面,這些頁面會正確地告訴你server的資訊和錯誤的具體資訊。正是這一點,在一些正規的it公司,很可能成為乙個違例。因為這些資訊中包括的伺服器型別資訊、版本資訊以及應用路徑等資訊,可能被黑客利用來攻擊這個伺服器或者應用。這些正規的公司會要求應用不能使用預設配置的頁面,那就必須自定義。那應該怎麼樣去自定義呢?

以現在的典型web應用,可以分兩步解決這個問題。第

一、在web伺服器上定製;第

二、在應用程式上定製。

以404為例,檔案不存在,分為兩種:

a) 這個路徑是web伺服器上的;第一步就是解決這一類問題。

b) 這個路徑已經對映到應用程式;這是第二步解決的問題。

1. 配置web伺服器

這裡用的是apache伺服器。編輯/conf/httpd.conf.

找到如下配置,如下圖

圖1 web伺服器配置項

去掉注釋符號。在web伺服器的document root目錄下,確保對應的檔案存在。如果沒有,按應用的要求建立乙個;如果已經有了,按應用的要求,修改即可。

然後重啟web伺服器,並輸入一不存在的url, 檢查出404錯誤時,是否是當前配置的檔案。

2. 配置應用程式

如果url指向應用程式中乙個不存在的檔案,應用伺服器立刻檢查當前web應用的配置,如果已經配置了應該轉向的錯誤頁面,則轉向該頁面;否則呼叫應用伺服器的預設頁面。

應用伺服器檢查web-inf/web.xml裡的類似如下配置:

404

/building.jsp

500 /error.jsp

根據應用要求配置,重新打包、部署和啟動後,測試即可。

SpringBoot定製錯誤頁面

1 有模板引擎的情況下,例如404錯誤,將會在thymeleaf的templates的error下尋找404.html,如果找不到再尋找4xx.html 所有4開頭的錯誤狀態碼如果找不到特定的html頁面將會指向4xx.html 頁面可以獲取到的資訊 timestamp 時間戳 status 狀態碼...

SpringBoot定製錯誤頁面和錯誤資料

直接丟擲異常,那麼瀏覽器是便會訪問錯誤頁面 public string error model model lang en charset utf 8 titletitle head 55555555555 5xx.html body html timestamp 時間戳 status 狀態碼 er...

springboot定製錯誤處理頁面

springboot錯誤頁面處理 結構如下 在template資料夾下新建error資料夾 在error新建4xx.html檔案和5xx.html檔案 2.新建hellocontroller 和 login.html hellocontroller類 login.html頁面 3.錯誤 timest...