日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

異步AJAX可能引起的ResponseFacade.sendError

 昵稱2829056 2010-08-21

異常信息摘要:
2010-8-16 9:47:34 org.apache.catalina.core.StandardWrapperValve invoke
嚴(yán)重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
    at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
    at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:770)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)
    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)

出現(xiàn)此異常的原因之一:
AJAX異步處理的思路使得多個請求之間的合作失敗, 更清楚地說, 是多個請求之間的數(shù)據(jù)有依賴性, 但異步的機(jī)制使得依賴者和被依賴者的數(shù)據(jù)獲取的先后不一致, 只要有此種交錯請求的存在, Server端就會報出此異常:發(fā)送數(shù)據(jù)出錯。

我設(shè)想的解決方案:
方案一:
    當(dāng)有依賴關(guān)系的請求存在時,設(shè)定被依賴的請求為同步方式,這樣就可以保證被依賴者的數(shù)據(jù)在成功獲取后,再向下執(zhí)行后續(xù)請求。當(dāng)然,這種解決方案有一些限制,只有在使用原始XMLHttpRequest時才能夠設(shè)置同步/異步。
方案二:
    通過別的方式盡可能的改掉請求間的依賴關(guān)系,使得依賴請求能夠直接從Server端獲取數(shù)據(jù)。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多