手機(jī)版WPS 手機(jī)版wps免費(fèi)下載
2022-11-29
更新時間:2022-03-28 06:21:46作者:未知
以java為例,其illegalstateexception該異常表示,當(dāng)前對客戶端的響應(yīng)已經(jīng)結(jié)束,不能在響應(yīng)已經(jīng)結(jié)束(或說消亡)后再向客戶端(實際上是緩沖區(qū))輸出任何內(nèi)容。
在一次響應(yīng)commit之前,所有的內(nèi)容輸出都將寫入servlet引擎的緩沖區(qū)(tomcat或weblogic的內(nèi)容空間),而在commit之后,上一次response向緩沖區(qū)寫入的內(nèi)容,將清空。由于servlet在沒有設(shè)置單線程的情況下(使用Single-Threaded Model,servlet實現(xiàn)SingleThreadModel接口,jsp使用<%@ page isThreadSafe=“false”%>),是多線程的,所以上面所說的緩沖區(qū),都將是該response所屬的線程私有的內(nèi)存空間。有了這個概念,將可以分析碰到的關(guān)于servlet多線程的很多問題。如果不能確認(rèn)response是否已經(jīng)committed??梢哉{(diào)用response.isCommitted()來判斷。導(dǎo)致這個錯誤最普遍的原因是,jsp有編譯錯誤。