session如何在SpringMVC項目中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
session保存方式:
1、javaWeb工程通用的HttpSession
2、SpringMVC特有的@SessionAttributes
我個人比較關(guān)注@SessionAttributes的用法,畢竟現(xiàn)在是在用SpringMVC嘛。但是我看網(wǎng)上那些文章,基本都是只說明了基礎(chǔ)用法,詳細(xì)的使用和細(xì)節(jié)卻基本沒有,我想這是不夠的,所以我自己做了一些測試,然后整理了下代碼做了個demo,記錄并分享下,有什么不足的歡迎提出來討論。
好了,廢話就說到這,下面正戲開始!
結(jié)論
嗯,為了給一些不喜歡看代碼的客官省去翻結(jié)論的麻煩,我這里就先把我測試后的結(jié)論先列一下吧。
1、可以通過SpringMVC特有的ModelMap、Model在Controller中自動保存數(shù)據(jù)到session,也可以通過傳統(tǒng)的HttpSession等參數(shù)保存session數(shù)據(jù)
2、保存session數(shù)據(jù)必須使用@SessionAttributes注解,該注解有2種參數(shù)聲明方式(value和types),且該注解聲明必須寫在類上,不能在方法上
3、保存的session數(shù)據(jù)必須與@SessionAttributes注解中的參數(shù)列表對應(yīng),未被聲明的參數(shù)無法保存到session中
4、使用SessionStatus可以清除session中保存的數(shù)據(jù),注意是全部清除,無法單獨刪除指定的session數(shù)據(jù)。同時,清除時有效權(quán)限遵循上述第2、3條規(guī)則(借用此規(guī)則可人為達(dá)到刪除指定session數(shù)據(jù)的效果)
5、通過ModelMap等讀取session中數(shù)據(jù)時,也有上述的參數(shù)權(quán)限限制
6、使用ModelMap或Model等保存session數(shù)據(jù)時,ModelMap必須作為方法參數(shù)傳入,在方法中新定義的無效。同時,只要把ModelMap作為參數(shù)傳入,即使是被別的方法調(diào)用也能起效
7、使用@ResponseBody注解時(一般配合ajax使用),無法保存session數(shù)據(jù)
8、@SessionAttributes注解可以使用value和types 2種參數(shù)列表
9、使用HttpSession的傳統(tǒng)方式操作沒有上述注解及權(quán)限等限制,下面有簡單測試,但是不做具體說明
以下還有幾個應(yīng)該算是常識性的知識點
10、操作session數(shù)據(jù)可以跨類,與包或者url的路徑等也沒有關(guān)系
11、同一個session值操作,后面的值會覆蓋前面的值
測試代碼及簡單說明
開發(fā)工具: Spring Tool Suite 。
spring專為SpringMVC搞出來的一款基于Eclipse的IDE開發(fā)工具,集成了Maven和Tomcat,最近用下來感覺還不錯的,推薦下。
首先來一個項目結(jié)構(gòu)截圖吧
因為后面的測試中有用到ajax的@ResponseBody注解,所以要在pom.xml文件中配置jar包。
<!-- 使用@ResponseBody注解所需的2個包 --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.13</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency>
標(biāo)題名稱:session如何在SpringMVC項目中使用-創(chuàng)新互聯(lián)
本文URL:http://aaarwkj.com/article36/dohssg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、品牌網(wǎng)站制作、網(wǎng)站維護(hù)、標(biāo)簽優(yōu)化、移動網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容