使用Filter過濾器中訪問getSession()要轉(zhuǎn)化
Filter過濾器中訪問getSession()要進(jìn)行轉(zhuǎn)化
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; ?? ??? ?HttpServletResponse res = (HttpServletResponse)response;?? ??? ? ?? ??? ?User user = (User)req.getSession().getAttribute("user"); }
request.getSession()的問題
在JavaWeb項(xiàng)目中,request.getSession()一般是被用來存儲(chǔ)當(dāng)前用戶對(duì)象到session中,或者從session中獲取當(dāng)前用戶對(duì)象。
分為無參和有參兩種寫法:
1. 無參:request.getSession()
從當(dāng)前request中獲取session,如果獲取不到session,則會(huì)自動(dòng)創(chuàng)建一個(gè)session,并返回新創(chuàng)建的session;如果獲取到,則返回獲取到的session;
2. 有參:request.getSession(boolean var1)
request.getSession(true)
這種方式和無參時(shí)一樣,只是增家了一個(gè)true參數(shù),明確告訴它在獲取不到的時(shí)候自動(dòng)創(chuàng)建session;
request.getSession(false)
這種方式與上兩種的區(qū)別,就是在獲取不到session的時(shí)候,不會(huì)自動(dòng)創(chuàng)建session,而是會(huì)返回null。
各方式的應(yīng)用場(chǎng)景:
如果想要存儲(chǔ)信息到session中時(shí),使用request.getSession(),
如果想要獲取session中的信息時(shí),使用request.getsession(false),并在獲取后對(duì)session變量進(jìn)行是否為null的判斷,再進(jìn)行下一步操作。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中HashSet和HashMap的區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java中HashSet和HashMap的區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,需要的朋友可以參考下2017-04-04Java手把手必會(huì)的實(shí)例漢諾塔講解練習(xí)
漢諾塔,傳說神在創(chuàng)造世界的時(shí)候做了三根金剛石柱子,并在一個(gè)教塔里留下了三根金剛石棒,第一根上面從上到下套著64個(gè)按從小到大排列的金盤,神命令廟里的眾僧將它們一個(gè)個(gè)地從這根金剛石棒搬到另一根金剛石棒上,大盤不能放在小盤上。最后64個(gè)金盤仍然要按從小到大排列2021-09-09Redis原子計(jì)數(shù)器incr,防止并發(fā)請(qǐng)求操作
這篇文章主要介紹了Redis原子計(jì)數(shù)器incr,防止并發(fā)請(qǐng)求操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11java獲取和設(shè)置系統(tǒng)變量問題(環(huán)境變量)
這篇文章主要介紹了java獲取和設(shè)置系統(tǒng)變量問題(環(huán)境變量),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01Mybatis多數(shù)據(jù)源切換實(shí)現(xiàn)代碼
這篇文章主要介紹了Mybatis多數(shù)據(jù)源切換實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10