最近遇到一個問題,請教各位大拿
前端通過ajax發送一個請求到后臺的excutorProcess方法
public void excutorProcess(final HttpSession session, final HttpServletRequest req){該方法開了多個子執行緒,同時將前臺傳入的HttpServletRequest用final修飾給了每一個子執行緒,子執行緒單獨處理業務,主執行緒直接回傳。在主執行緒回傳后,前端再次呼叫ajax進行串列重繪,卻發現后臺無法獲取到此次傳入的所有引數,查看http請求發現引數傳遞無問題。如果再次對串列進行重繪 那么引數正常
這個問題百思不得其解 求大佬解答
uj5u.com熱心網友回復:
應該是從request拿到資料傳給子執行緒,而不是把request傳給子執行緒uj5u.com熱心網友回復:
想問一下 如果把request直接傳給了 子執行緒 會有什么影響嗎
目前發現tomcat7下沒有問題。但是tomcat8下 會影響頁面ajax的二次請求
uj5u.com熱心網友回復:
不知道對不對,針對你說的現象,以下只是個人推測:
現代web容器一般都開啟了keepalive,一個鏈接上來后,你的個人執行緒持有了這個鏈接,容器卻立即回傳。前端再次用同一個鏈接進行請求(因為keepalive),而實際這個鏈接沒被你的子執行緒釋放,導致錯誤。
uj5u.com熱心網友回復:
應該是從request拿到資料傳給子執行緒,而不是把request傳給子執行緒uj5u.com熱心網友回復:
應該是從request拿到資料傳給子執行緒,而不是把request傳給子執行緒
想問一下 如果把request直接傳給了 子執行緒 會有什么影響嗎
目前發現tomcat7下沒有問題。但是tomcat8下 會影響頁面ajax的二次請求
不知道對不對,針對你說的現象,以下只是個人推測:
現代web容器一般都開啟了keepalive,一個鏈接上來后,你的個人執行緒持有了這個鏈接,容器卻立即回傳。前端再次用同一個鏈接進行請求(因為keepalive),而實際這個鏈接沒被你的子執行緒釋放,導致錯誤。
如果按照這個猜測來看的話,的確可能性很大。但是我如果在tomcat7下做相同操作。則不會產生這個問題,ajax請求不會有例外(可能幾十次里面會有一次例外吧,但不會像tomcat8一樣必定出現)
uj5u.com熱心網友回復:
會不會跟tomcat連接器有關呢?連接器已經改了還是按默認?
tomcat7默認bio,tomcat8默認nio,改一下試試看
uj5u.com熱心網友回復:
會不會跟tomcat連接器有關呢?
連接器已經改了還是按默認?
tomcat7默認bio,tomcat8默認nio,改一下試試看
測驗了一下 tomcat7不管是nio 還是bio模式 都是正常的。
uj5u.com熱心網友回復:
應該是從request拿到資料傳給子執行緒,而不是把request傳給子執行緒
想問一下 如果把request直接傳給了 子執行緒 會有什么影響嗎
目前發現tomcat7下沒有問題。但是tomcat8下 會影響頁面ajax的二次請求
不知道對不對,針對你說的現象,以下只是個人推測:
現代web容器一般都開啟了keepalive,一個鏈接上來后,你的個人執行緒持有了這個鏈接,容器卻立即回傳。前端再次用同一個鏈接進行請求(因為keepalive),而實際這個鏈接沒被你的子執行緒釋放,導致錯誤。
如果按照這個猜測來看的話,的確可能性很大。但是我如果在tomcat7下做相同操作。則不會產生這個問題,ajax請求不會有例外(可能幾十次里面會有一次例外吧,但不會像tomcat8一樣必定出現)
將tomcat的keep-alive關閉,一試便知
uj5u.com熱心網友回復:
應該是從request拿到資料傳給子執行緒,而不是把request傳給子執行緒
想問一下 如果把request直接傳給了 子執行緒 會有什么影響嗎
目前發現tomcat7下沒有問題。但是tomcat8下 會影響頁面ajax的二次請求
不知道對不對,針對你說的現象,以下只是個人推測:
現代web容器一般都開啟了keepalive,一個鏈接上來后,你的個人執行緒持有了這個鏈接,容器卻立即回傳。前端再次用同一個鏈接進行請求(因為keepalive),而實際這個鏈接沒被你的子執行緒釋放,導致錯誤。
如果按照這個猜測來看的話,的確可能性很大。但是我如果在tomcat7下做相同操作。則不會產生這個問題,ajax請求不會有例外(可能幾十次里面會有一次例外吧,但不會像tomcat8一樣必定出現)
將tomcat的keep-alive關閉,一試便知
但是tomcat7和tomcat8都是支持keep-alive的。也不會tomcat7正常 tomcat8失敗吧
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/59198.html
標籤:Web 開發
上一篇:剛開始學習ajax部分,get請求控制臺沒有輸出,點擊鏈接報錯404
下一篇:請求sockjs錯誤
