如果上傳了幾個非常大的文件,是否會發生會話超時?想象一下,我上傳了一個5 GB的大文件,並設置了一個短會話超時。在傳輸文件的過程中,會話超時是否會發生?Primefaces fileUpload和會話timout
6
A
回答
8
是的,它可以。 servlet specification沒有任何地方禁止在活動請求期間會話被破壞。當這樣的上傳到達bean時,你將面臨ViewExpiredException
的風險。
如果這是你的關心,你幾個選項:
讓上傳表單異步輪詢服務器的間隔保持會話活着。您可以在EL中使用
#{session.maxInactiveInterval}
以秒爲單位獲取當前超時。<p:fileUpload ... /> <p:poll interval="#{session.maxInactiveInterval - 10}" async="true" />
這10秒的差別只是爲了防止它到達幾秒鐘爲時已晚,因爲頁面本身也可能需要一些時間來加載所有的HTML和初始化投票。如有必要,您可以在開始上傳時有條件地開始/呈現投票。
讓上傳的「的OnStart」事件增加(小時?)會話超時到一定限度,讓上傳的「的onComplete」事件把它放回去。
<p:fileUpload ... onstart="increaseTimeout()" oncomplete="resetTimeout()" /> <p:remoteCommand name="increaseTimeout" listener="#{bean.increaseTimeout}" /> <p:remoteCommand name="resetTimeout" listener="#{bean.resetTimeout}" />
您可以在bean中使用
ExternalContext#setSessionMaxInactiveInterval()
來設置所需的會話超時值,以秒爲單位。使用stateless JSF表單。無論HTTP會話的行爲如何,視圖都不會過期。
<f:view transient="true"> ... </f:view>
注意:與這樣的視圖關聯的任何視圖作用域bean的行爲將與請求作用域類似。爲避免混淆,請根據需要替換註釋。
相關問題
- 1. Primefaces Fileupload補丁
- 2. Primefaces fileUpload js API
- 3. PrimeFaces fileUpload事件不會觸發
- 4. JSF - Primefaces FileUpload不會觸發方法
- 5. Primefaces fileUpload fileUploadListener問題
- 6. 從Primefaces oncomplete不起作用fileUpload和對話框
- 7. 使用PrettyFaces和JSF 2.2.3 Primefaces FileUpload
- 8. FileDownload和FileUpload JSF Primefaces不工作
- 9. 在php中fileupload()不會與會話
- 10. JSF PrimeFaces丟失數據和會話
- 11. JSF會話超時和primefaces推
- 12. PrimeFaces FileUpload隊列大小
- 13. PrimeFaces FileUpload中的文件數
- 14. Primefaces fileUpload錯誤與layoutUnit
- 15. Primefaces 2.2.1帶PrimeUp 3.0的FileUpload
- 16. Primefaces多個FileUpload不會顯示文件也不會觸發handleFileUpload
- 17. ASP.NET - 使用會話存儲FileUpload對象
- 18. fileUpload不會在PrimeFaces 3.5中使用JSF 2.2觸發事件
- 19. 從不會調用Primefaces組件fileUpload的完成
- 20. 表單身份驗證timout比會話超時更大
- 21. PrimeFaces fileUpload組件進度條失敗
- 22. fileUpload不適用於primefaces嚮導
- 23. Primefaces FileUpload獲取文件擴展名
- 24. Fileupload在Primefaces中不起作用
- 25. primefaces fileupload在ie8中不起作用
- 26. j2ee primefaces fileupload文件保存目標
- 27. PrimeFaces FileUpload篩選器ClassNotFound異常
- 28. FileUpload required =「true」在PrimeFaces中不起作用
- 29. Primefaces FileUpload在Spring Boot中不起作用
- 30. 使用Selenium WebDriver進行PrimeFaces fileUpload測試
非常感謝。我將使用選項2,因爲在我的情況下,上傳完成時'p:fileUpload'不再可見。它位於一個對話框中,該對話框將被關閉,並通過javascript調用啓動上傳。 – opfau
不客氣。 – BalusC
提及無狀態的JSF表單! :D直到現在才知道。在什麼版本的jsf中可用? – Fritz