1. 程式人生 > 實用技巧 >tomcat org.apache.coyote.http11.HeadersTooLargeException: 嘗試將更多資料寫入響應標頭,而不是緩衝區中有可用空間。 增加聯結器上的maxHttpHeaderSize或將更少的資料寫入響應頭。

tomcat org.apache.coyote.http11.HeadersTooLargeException: 嘗試將更多資料寫入響應標頭,而不是緩衝區中有可用空間。 增加聯結器上的maxHttpHeaderSize或將更少的資料寫入響應頭。

在我配置了inteceptor以後,訪問資源並跳轉的時候tomcat控制檯顯示如下錯誤

嚴重 [http-nio-8080-exec-181] org.apache.coyote.http11.Http11Processor.service 錯誤的處理請求
org.apache.coyote.http11.HeadersTooLargeException: 嘗試將更多資料寫入響應標頭,而不是緩衝區中有可用空間。 增加聯結器上的maxHttpHeaderSize或將更少的資料寫入響應頭。

出現該錯誤的原因是,我配置了inteceptor。當請求試圖訪問資源的時候,如果他的條件不滿足,那麼就跳轉到其他資源。然而我配置的inteceptor攔截的又是根下面的所以資源,所以就會出現下面的情況。

訪問資源A條件不滿足,從而訪問資源B。當訪問資源B時,條件同樣不滿足,於是又再次轉發,試圖訪問資源B,仍然不滿足。。。

簡單來說就是迴圈跳轉了。

解決辦法就是要麼在XML配置中排除你要跳轉的目標資源的攔截,要麼在inteceptor程式碼中排除或者指定。