更新時間:2022-05-26 10:14:47 來源:動力節(jié)點 瀏覽1332次
HTTP協(xié)議是一種無狀態(tài)的協(xié)議,HTTP服務(wù)器對客戶的每個請求和響應(yīng)都是作為一個分離的事務(wù)處理。服務(wù)器無法確定多個請求是來自相同的客戶還是不同的客戶。這意味著服務(wù)器不能再多個請求中維持客戶的狀態(tài)。
創(chuàng)建會話對象是服務(wù)器的主動行為。一般客戶向服務(wù)器發(fā)送第一個請求的時候,
首先明確兩點:
1.request.getSession()在沒有session的時候會創(chuàng)建session
//如果當前沒有session,則會立刻建立一個session;如果有session則返回當前session
HttpSession session = request.getSession();
HttpSession session = request.getSession(true);
//這句話不會建立session,如果當前沒有seesion建立的話,控制臺輸出應(yīng)該是true的
HttpSession session = request.getSession(false);
System.out.println(session==null);
2.jsp中指令session默認配置為true
<%@ page session="true"%>
jsp編譯后的java文件包含以下代碼
session = pageContext.getSession();
因此當這個jsp頁面執(zhí)行時,這句話就會幫你創(chuàng)建session了
若要禁用jsp的自動創(chuàng)建session,可以顯式聲明
<%@ page session="false"%>
綜上,并不是一請求頁面就會創(chuàng)建session
以上就是關(guān)于“一文告訴你Session是什么時候創(chuàng)建的”介紹,大家如果想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點的Spring Session教程,里面的課程內(nèi)容細致全面,有更多的知識等著大家去學習,相信對大家會有所幫助的。