一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java 中 request.getSession(true、false、null)的區(qū)別

java 中 request.getSession(true、false、null)的區(qū)別

2020-08-13 11:54anxiaole Java教程

這篇文章主要介紹了java 中 request.getSession(true/false/null)的區(qū)別的相關(guān)資料,需要的朋友可以參考下

java 中 request.getSession(true/false/null)的區(qū)別

一、需求原因

現(xiàn)實(shí)中我們經(jīng)常會(huì)遇到以下3中用法:

HttpSession session = request.getSession();

HttpSession session = request.getSession(true);

HttpSession session = request.getSession(false);

二、區(qū)別

1.      Servlet官方文檔說:

public HttpSessiongetSession(boolean create)
Returns the currentHttpSession associated with this request or, if if there is no current sessionand create is true, returns a new session.
If create is falseand the request has no valid HttpSession, this method returns null.
To make sure thesession is properly maintained, you must call this method before the responseis committed. If the Container is using cookies to maintain session integrityand is asked to create a new session when the response is committed, anIllegalStateException is thrown.
Parameters: true -to create a new session for this request if necessary; false to return null ifthere's no current session
Returns: theHttpSession associated with this request or null if create is false and therequest has no valid session

2.      翻譯過來的意思是:

getSession(boolean create)意思是返回當(dāng)前reqeust中的HttpSession ,如果當(dāng)前reqeust中的HttpSession 為null,當(dāng)create為true,就創(chuàng)建一個(gè)新的Session,否則返回null;

簡而言之:

?
1
2
HttpServletRequest.getSession(ture)等同于 HttpServletRequest.getSession()
HttpServletRequest.getSession(false)等同于 如果當(dāng)前Session沒有就為null

3.      使用

當(dāng)向Session中存取登錄信息時(shí),一般建議:HttpSession session =request.getSession();

當(dāng)從Session中獲取登錄信息時(shí),一般建議:HttpSession session =request.getSession(false);

4.      更簡潔的方式

如果你的項(xiàng)目中使用到了Spring,對session的操作就方便多了。如果需要在Session中取值,可以用WebUtils工具(org.springframework.web.util.WebUtils)的WebUtils.getSessionAttribute(HttpServletRequestrequest, String name);方法,看看源碼:

?
1
2
3
4
5
6
7
8
9
public static Object getSessionAttribute(HttpServletRequest request, String name){
 
  Assert.notNull(request, "Request must not be null");
 
  HttpSession session = request.getSession(false);
 
  return (session != null ? session.getAttribute(name) : null);
 
}

注:Assert是Spring工具包中的一個(gè)工具,用來判斷一些驗(yàn)證操作,本例中用來判斷reqeust是否為空,若為空就拋異常

你使用時(shí):

?
1
2
3
4
WebUtils.setSessionAttribute(request, "user", User);
 
User user = (User)WebUtils.getSessionAttribute(request, "user");
<br>

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:https://my.oschina.net/anxiaole/blog/840890

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 动漫肉在线观看 | 女女性恋爱视频入口 | 俄罗斯毛片免费大全 | 欧美腐剧mm在线观看 | 天堂在线中文无弹窗全文阅读 | 性姿势女人嗷嗷叫图片 | 东京道一本热大交乱 | 荡女人人爱全文免费阅读 | 亚洲色图.com | 天天操夜夜操狠狠操 | 天堂在线看 | 日本色网址 | 视频久久| 国产盗摄女厕美女嘘嘘 | 色综合久久综合网欧美综合网 | 放荡的女老板bd中文字幕 | 国产精品久久久久久网站 | 九九99九九精彩网站 | 91精品国产91久久久久久麻豆 | 国产美女屁股直流白浆视频无遮挡 | 成人免费在线视频网 | 高h喷水荡肉爽文np肉色文 | 96免费精品视频在线 | 亚洲美女aⅴ久久久91 | 日本高清在线观看天码888 | 成人欧美一区在线视频在线观看 | 国产东北3p真实在线456视频 | 成人中文字幕在线观看 | 男人躁女人p | 欧美午夜性春猛交bbb | 97热久久免费频精品99国产成人 | 三上悠亚国产精品一区 | 欧美老人与小伙子性生交 | 喷出奶汁了h | 网站在线播放 | 日本视频高清 | 人禽l交视频在线播放 视频 | 万域之王动漫在线观看全集免费播放 | 亚洲精品第五页中文字幕 | 免费观看国产大片资源视频 | 密臀tv |