javascript
【Servlet】总结 JSP的四大域对象、Servlet的四个作用域:pageContext、request、session、application
JSP的四大域?qū)ο?#xff1a;pageContext、request、session、application
這四個(gè)域?qū)ο?#xff0c;都提供了一對(duì)相同的方法:
-
設(shè)置一個(gè)屬性:
setAttribute(“屬性名”,“屬性值”); -
獲取一個(gè)屬性:
getAttribute(“屬性名”);
(1)pageContext:
它是四大域?qū)ο笾杏蜃钚〉?#xff0c;只能獲取本頁(yè)中set設(shè)置的屬性。
在A.jsp中設(shè)置的屬性,只能在A.jsp中使用。
(2)request:
request可以獲取到當(dāng)前頁(yè)面所set的屬性,還可以獲取轉(zhuǎn)發(fā)頁(yè)面的屬性。
在A.jsp中設(shè)置的屬性name,在A中可以get到。
再通過(guò)request.getRequestDispatcher("B.jsp").forward(request, response);轉(zhuǎn)發(fā)到B.jsp,則在A和B中都能get到name。
(3)session:
用戶打開(kāi)瀏覽器訪問(wèn),創(chuàng)建session(生命周期開(kāi)始)。
session超時(shí)(默認(rèn)為30分鐘)或被聲明失效(關(guān)閉瀏覽器),該對(duì)象生命周期結(jié)束(一次會(huì)話)。
session里的屬性,你可在任何網(wǎng)頁(yè)中設(shè)置和調(diào)用.
(4)application(又名ServletContext):
web應(yīng)用加載的時(shí)候創(chuàng)建,只要服務(wù)器沒(méi)有關(guān)閉,它的屬性會(huì)一直保存。
Servlet的四個(gè)作用域:request、cookie、session、context
這四個(gè)對(duì)象有不同級(jí)別的作用域和生命周期。
(1)request:解決了一次請(qǐng)求內(nèi)的數(shù)據(jù)共享問(wèn)題(作用域:一次請(qǐng)求)
(2)cookie:解決了同一用戶不同請(qǐng)求的數(shù)據(jù)共享的問(wèn)題(作用域:一次會(huì)話/或者設(shè)置定時(shí))
Cookie c = new Cookie("uname", "張三"); // 創(chuàng)建Cookie對(duì)象c.setPath("CookieServlet"); // 指定共享cookie的Servletresp.addCookie(c); // 將cookie添加到響應(yīng)對(duì)象中(3)session:解決了同一用戶不同請(qǐng)求的數(shù)據(jù)共享問(wèn)題(作用域:會(huì)話創(chuàng)建->瀏覽器關(guān)閉)
// session 技術(shù)是依賴 cookie 技術(shù)的服務(wù)器端的數(shù)據(jù)存儲(chǔ)技術(shù)// cookie存儲(chǔ)在本地瀏覽器,而session存儲(chǔ)在服務(wù)器HttpSession hs=req.getSession(); // 在servlet中獲取session對(duì)象hs.setAttribute("uname","張三"); // 數(shù)據(jù)存儲(chǔ)(4)context:解決了不同用戶的數(shù)據(jù)共享問(wèn)題(作用域:服務(wù)器啟動(dòng)->服務(wù)器關(guān)閉)
ServletContext sc=this.getServletContext(); // 在servlet中獲取context對(duì)象sc.setAttribute("str", "ServletContext對(duì)象學(xué)習(xí)");// 數(shù)據(jù)存儲(chǔ)JSP與Servlet作用域?qū)ο蟮臄?shù)據(jù)傳遞
以session為例:
Java中存儲(chǔ)session
HttpSession hs=req.getSession(); //在Servlet中獲取session對(duì)象 hs.setAttribute("user", userObj); //將userObj對(duì)象存入session中(鍵值對(duì))jsp頁(yè)面獲取session
<%=((User)session.getAttribute("user")).getUname()%>總結(jié)
以上是生活随笔為你收集整理的【Servlet】总结 JSP的四大域对象、Servlet的四个作用域:pageContext、request、session、application的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Servlet】Filter过滤器详解
- 下一篇: 【JavaScript】JS的变量、数组