2 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
大概有以下幾種使用方法:
1、前臺(tái)設(shè)置:利用jsp的內(nèi)置對(duì)象session進(jìn)行設(shè)置。<%session.setAttribute("username", username);%>2、后臺(tái)設(shè)置:(1)Filter設(shè)置:public class MyFilter implements Filter {@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain chain) throws IOException, ServletException {//把請(qǐng)求和響應(yīng)對(duì)象強(qiáng)制轉(zhuǎn)換為HttpServlet域?qū)ο驢ttpServletRequest request = (HttpServletRequest)arg0;HttpServletResponse responce = (HttpServletResponse)arg1;HttpSession session = request.getSession(false);session.setAttribute("username", username);}}(2)Servlet設(shè)置:public class MyServlet extends HttpServlet {//doGet()與doPost()任選public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//創(chuàng)建session對(duì)象HttpSession session = request.getSession(false);session.setAttribute("username", username);}}
擴(kuò)展資料:
Session:在計(jì)算機(jī)中,尤其是在網(wǎng)絡(luò)應(yīng)用中,稱(chēng)為“會(huì)話(huà)控制”。Session 對(duì)象存儲(chǔ)特定用戶(hù)會(huì)話(huà)所需的屬性及配置信息。
這樣,當(dāng)用戶(hù)在應(yīng)用程序的 Web 頁(yè)之間跳轉(zhuǎn)時(shí),存儲(chǔ)在 Session 對(duì)象中的變量將不會(huì)丟失,而是在整個(gè)用戶(hù)會(huì)話(huà)中一直存在下去。
當(dāng)用戶(hù)請(qǐng)求來(lái)自應(yīng)用程序的 Web 頁(yè)時(shí),如果該用戶(hù)還沒(méi)有會(huì)話(huà),則 Web 服務(wù)器將自動(dòng)創(chuàng)建一個(gè) Session 對(duì)象。當(dāng)會(huì)話(huà)過(guò)期或被放棄后,服務(wù)器將終止該會(huì)話(huà)。
Session 對(duì)象最常見(jiàn)的一個(gè)用法就是存儲(chǔ)用戶(hù)的首選項(xiàng)。例如,如果用戶(hù)指明不喜歡查看圖形,就可以將該信息存儲(chǔ)在 Session 對(duì)象中。
有關(guān)使用 Session 對(duì)象的詳細(xì)信息,請(qǐng)參閱“ASP 應(yīng)用程序”部分的“管理會(huì)話(huà)”。注意 會(huì)話(huà)狀態(tài)僅在支持 cookie 的瀏覽器中保留。
session的工作原理:
1、當(dāng)一個(gè)session第一次被啟用時(shí),一個(gè)唯一的標(biāo)識(shí)被存儲(chǔ)于本地的cookie中。
2、首先使用session_start()函數(shù),PHP從session倉(cāng)庫(kù)中加載已經(jīng)存儲(chǔ)的session變量。
3、當(dāng)執(zhí)行PHP腳本時(shí),通過(guò)使用session_register()函數(shù)注冊(cè)session變量。
4、當(dāng)PHP腳本執(zhí)行結(jié)束時(shí),未被銷(xiāo)毀的session變量會(huì)被自動(dòng)保存在本地一定路徑下的session庫(kù)中,這個(gè)路徑可以通過(guò)php.ini文件中的session.save_path指定,下次瀏覽網(wǎng)頁(yè)時(shí)可以加載使用。
添加回答
舉報(bào)