日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java之JSP教程九大內(nèi)置對象詳解(下篇)

瀏覽:394日期:2022-06-07 17:08:50
目錄
  • 前言
  • JSP pageContext對象
    • 示例
  • JSP page對象
    • 示例
  • JSP Cookie的使用
    • JSP 使用 cookie 主要分為以下幾個(gè)步驟。
      • 創(chuàng)建 cookie 對象
      • 寫入 cookie
      • 設(shè)置 cookie 有效期
      • 讀取cookie
    • 示例
      • 讀取cookie
        • 刪除cookie
          • session和cookie的區(qū)別

          前言

          之前我們在這篇文章Java之JSP教程九大內(nèi)置對象詳解中,已經(jīng)講解完了六個(gè)個(gè)對象,接下來我們講解最后的三個(gè)對象

          JSP pageContext對象

          pageContext 是 javax.servlet.jsp.PageContext 的實(shí)例對象。

          pageContext 對象表示整個(gè) JSP 頁面,可以獲取或刪除以下對象的任意屬性:

          • page
          • request
          • session
          • application

          pageContext 常用的方法如下:

          • Object findAttribute (String AttributeName):按 page、request、session、application 的順序查找指定的屬性,并返回對應(yīng)的屬性值。如果沒有相應(yīng)的屬性,則返回 NULL
          • Object getAttribute (String AttributeName, int Scope):在指定范圍內(nèi)獲取屬性值。與 findAttribute 不同的是,getAttribute 需要指定查找范圍
          • void removeAttribute(String AttributeName, int Scope):在指定范圍內(nèi)刪除某屬性
          • void setAttribute(String AttributeName, Object AttributeValue, int Scope):在指定范圍內(nèi)設(shè)置屬性和屬性值
          • Exception getException():返回當(dāng)前頁的 Exception 對象
          • ServletRequest getRequest():返回當(dāng)前頁的 request 對象
          • ServletResponse getResponse():返回當(dāng)前頁的 response 對象
          • ServletConfig getServletConfig():返回當(dāng)前頁的 ServletConfig 對象
          • HttpSession getSession():返回當(dāng)前頁的 session 對象
          • Object getPage():返回當(dāng)前頁的 page 對象
          • ServletContext getServletContext():返回當(dāng)前頁的 application 對象

          示例

          使用 PageContext 對象取得不同范圍的屬性值。index.jsp 代碼如下:

          <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html><head></head><body>    <%request.setAttribute("info", "request范圍的值");session.setAttribute("info", "session范圍的值");application.setAttribute("info", "application范圍的值");    %>    利用 pageContext 取出以下范圍內(nèi)各值(方法一):    <br> request 設(shè)定的值:<%=pageContext.getRequest().getAttribute("info")%>    <br> session 設(shè)定的值:<%=pageContext.getSession().getAttribute("info")%>    <br> application 設(shè)的值:<%=pageContext.getServletContext().getAttribute("info")%>    <hr>    利用pageContext取出以下范圍內(nèi)各值(方法二):    <br> 范圍1(page)內(nèi)的值:<%=pageContext.getAttribute("info", 1)%>    <br> 范圍2(request)內(nèi)的值:<%=pageContext.getAttribute("info", 2)%>    <br> 范圍3(session)內(nèi)的值:<%=pageContext.getAttribute("info", 3)%>    <br> 范圍4(application)內(nèi)的值:<%=pageContext.getAttribute("info", 4)%>    <hr>    利用 pageContext 修改或刪除某個(gè)范圍內(nèi)的值:    <%pageContext.setAttribute("info", "修改request范圍的值", 2);    %>    <br> 修改 request 設(shè)定的值:    <br>    <%=pageContext.getRequest().getAttribute("info")%>    <br>    <%pageContext.removeAttribute("info");    %>    刪除 session 設(shè)定的值:<%=session.getAttribute("info")%></body></html>

          運(yùn)行結(jié)果如下:

          index.jsp運(yùn)行結(jié)果

          JSP page對象

          JSP page 的實(shí)質(zhì)是 java.lang.Object 對象,相當(dāng)于 Java 中的 this 關(guān)鍵字。

          page 對象是指當(dāng)前的 JSP 頁面本身,在實(shí)際開發(fā)中并不常用。

          page 對象的常用方法如下:

          class getClass():返回當(dāng)前頁面所在類

          int hashCode():返回當(dāng)前頁面的 hash 代碼

          String toString():將當(dāng)前頁面所在類轉(zhuǎn)換成字符串

          boolean equals(Object obj):比較對象和指定的對象是否相等

          void copy (Object obj):把對象復(fù)制到指定的對象中

          Object clone():復(fù)制對象

          示例

          下面通過一個(gè)簡單的例子來演示 page 中的方法。

          index.jsp 代碼如下:

          <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html><head></head><body>    <%Object obj;obj = null;    %>    返回當(dāng)前頁面所在類:<%=page.getClass()%>    <br> 返回當(dāng)前頁面的 hash 代碼:<%=page.hashCode()%>    <br> 轉(zhuǎn)換成 String 類的對象:<%=page.toString()%>    <br> page和obj比較:<%=page.equals(obj)%>    <br> page和this比較:<%=page.equals(this)%></body></html>

          運(yùn)行結(jié)果如下:

          JSP Cookie的使用

          Cookie 不是 JSP 內(nèi)置對象,而是由 Netscape 公司發(fā)明,用來跟蹤用戶會(huì)話(session)的方式。

          Cookie 由服務(wù)器生成并發(fā)送給瀏覽器(客戶端),瀏覽器會(huì)將其以文本文件的形式存儲在某個(gè)目錄下。

          例如,IE 瀏覽器把 cookie 信息保存在類似于 C://windows//cookies 的目錄下,當(dāng)用戶再次訪問某個(gè)網(wǎng)站時(shí),服務(wù)器就會(huì)要求瀏覽器查找并返回之前發(fā)送的 cookie 信息,來識別此用戶。

          識別用戶通常有以下步驟:

          1. 服務(wù)器把 cookie 信息發(fā)送到瀏覽器,例如:用戶 ID、用戶名稱等信息。
          2. 瀏覽器在本地存儲這些信息。
          3. 瀏覽器再次向服務(wù)器發(fā)送請求時(shí),它會(huì)同時(shí)將本地存儲的 cookie 信息一同發(fā)送給服務(wù)器,然后服務(wù)器使用這些信息來識別用戶或其它。

          cookie 的作用表現(xiàn)在以下方面:

          • 對特定對象的追蹤,如用戶的訪問次數(shù)、最后訪問時(shí)間等。
          • 統(tǒng)計(jì)網(wǎng)頁的瀏覽次數(shù)。
          • 在 cookie 有效期內(nèi),記錄用戶的登錄信息,簡化下一次的登錄過程。
          • 實(shí)現(xiàn)各種個(gè)性化服務(wù),如”最近瀏覽過的商品“。

          注意:由于 cookie 會(huì)將用戶的個(gè)人信息保存在客戶端,如用戶名、計(jì)算機(jī)名、以及瀏覽和登錄的網(wǎng)站等。這些信息可能會(huì)包含一些比較敏感的內(nèi)容,所以從安全角度來說,使用 cookie 存在著一定的風(fēng)險(xiǎn),因此不建議在 cookie 中保存比較重要或隱私的內(nèi)容。

          cookie方法

          cookie 常用方法如下:

          • public void setDomain(String pattern):設(shè)置 cookie 的域名,如 biancheng.net
          • public String getDomain():獲取 cookie 的域名
          • public void setMaxAge(int expiry):設(shè)置 cookie 有效期,單位:秒 默認(rèn)僅在當(dāng)前會(huì)話中存在
          • public int getMaxAge():獲取 cookie 有效期,單位:秒 默認(rèn)為 -1,表示 cookie 保存到瀏覽器關(guān)閉為止
          • public String getName():返回 cookie 的名稱,名稱創(chuàng)建后將不能被修改
          • public void setValue(String newValue):設(shè)置 cookie 的值
          • public String getValue():獲取 cookie 的值
          • public void setPath(String uri):設(shè)置 cookie 的路徑 默認(rèn)為當(dāng)前頁面目錄以及子目錄下的所有 URL
          • public String getPath():獲取 cookie 的路徑
          • public void setSecure(boolean flag):設(shè)置 cookie 是否要加密傳輸
          • public void setComment(String purpose):設(shè)置 cookie 注釋
          • public String getComment():返回 cookie 注釋,如果 cookie 沒有注釋,則返回 nullJSP使用cookie

          JSP 使用 cookie 主要分為以下幾個(gè)步驟。

          創(chuàng)建 cookie 對象

          創(chuàng)建 cookie 對象,name 代表 cookie 的名稱,value 表示該名稱對應(yīng)的值,語法如下:

          cookie cookie = new cookie(String name,String value);

          注意:name 和 value 中不能包含空格和以下字符:

          [ ] ( ) = , " / ? @ : ;

          寫入 cookie

          創(chuàng)建 cookie 對象后,調(diào)用 response.addCookie() 方法寫入 cookie,代碼如下:

          response.addcookie(cookie);

          設(shè)置 cookie 有效期

          調(diào)用 setMaxAge() 方法設(shè)置 cookie 的有效期(單位:秒),如將 cookie 有效期設(shè)置為 24 小時(shí),代碼如下:

          cookie.setMaxAge(60*60*24); 

          讀取cookie

          調(diào)用 request.getCookies() 方法讀取 cookie,該方法返回 HTTP 請求中的 cookie 對象數(shù)組,需要通過遍歷進(jìn)行訪問。

          示例

          通過 HTML 表單將客戶端數(shù)據(jù)提交到 index.jsp 中,并設(shè)置 cookie。

          login.jsp 代碼如下:

          <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><html><head></head><body>    <form action="index.jsp" method="get">站點(diǎn)名: <input type="text" name="name"> <br />網(wǎng)址: <input type="text" name="url" /><input type="submit" value="提交" />    </form></body></html>

          index.jsp 代碼如下:

          <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.net.*"%><%    // 解決中文亂碼      String str = URLEncoder.encode(request.getParameter("name"), "utf-8");    // 創(chuàng)建cookie對象    cookie name = new cookie("name", str);    cookie url = new cookie("url", request.getParameter("url"));    // 設(shè)置cookie有效期為24小時(shí)。    name.setMaxAge(60 * 60 * 24);    url.setMaxAge(60 * 60 * 24);    // 在響應(yīng)頭部添加cookie    response.addcookie(name);    response.addcookie(url);%><html><head><title>編程幫(www.biancheng.net)</title></head><body>    <b>網(wǎng)站名:</b>    <%=request.getParameter("name")%><br>    <b>網(wǎng)址:</b>    <%=request.getParameter("url")%></body></html>

          運(yùn)行結(jié)果如下:

          login.jsp頁面運(yùn)行結(jié)果

          index.jsp頁面運(yùn)行結(jié)果

          讀取cookie

          調(diào)用 request.getcookies() 方法,在 cookie.jsp 頁面中讀取 cookie

          cookie.jsp 代碼如下:

          <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.net.*"%><!DOCTYPE html><html><head><title>編程幫(www.biancheng.net)</title></head><body>    <%cookie cookie = null; //創(chuàng)建cookie對象cookie[] cookies = null;// 獲取 cookie 的數(shù)據(jù)cookies = request.getcookies();if (cookies != null) {    out.println("<h2> 獲取cookie名稱與對應(yīng)值</h2>");    for (int i = 0; i < cookies.length; i++) {cookie = cookies[i];out.print("參數(shù)名 : " + cookie.getName());out.print("<br>");out.print("參數(shù)值: " + URLDecoder.decode(cookie.getValue(), "utf-8") + " <br>");out.print("------------------------------------<br>");    }} else {    out.println("<h2>cookie為空</h2>");}    %></body></html>

          運(yùn)行結(jié)果如下:

          刪除cookie

          刪除 cookie 步驟如下:

          • 獲取 cookie
          • 將要?jiǎng)h除的 cookie 有效期設(shè)置為 0
          • 調(diào)用 response.addCookie() 方法重新寫入 cookie

          刪除參數(shù)名為“name”的 cookie

          cookie.jsp 代碼如下:

          <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.net.*"%><!DOCTYPE html><html><head><title>編程幫(www.biancheng.net)</title></head><body>    <%cookie cookie = null; //創(chuàng)建cookie對象cookie[] cookies = null;// 獲取 cookie 的數(shù)據(jù)cookies = request.getcookies();if (cookies != null) {    out.println("<h2> 獲取cookie名稱與對應(yīng)值</h2>");    for (int i = 0; i < cookies.length; i++) {cookie = cookies[i];//刪除參數(shù)名為name的cookieif ((cookie.getName()).compareTo("name") == 0) {    cookie.setMaxAge(0);    response.addcookie(cookie);    out.print("刪除 cookie: " + cookie.getName() + "<br/>");}out.print("參數(shù)名 : " + cookie.getName());out.print("<br>");out.print("參數(shù)值: " + URLDecoder.decode(cookie.getValue(), "utf-8") + " <br>");out.print("------------------------------------<br>");    }} else {    out.println("<h2>cookie為空</h2>");}    %></body></html>

          刷新 cookie.jsp 頁面,運(yùn)行結(jié)果如下:

          注:也可以手動(dòng)在瀏覽器中刪除 cookie。

          session和cookie的區(qū)別

          session 和 cookie 的區(qū)別如下:

          session:

          • cookie將信息保存在服務(wù)器
          • 保存的值是 Object 類型
          • session 存儲的數(shù)據(jù)隨會(huì)話的結(jié)束而結(jié)束
          • 安全性高,可以保存重要的信息

          cookie:

          • 將信息保存在客戶端
          • 保存的值是 String 類型
          • cookie 可以長期保存在客戶端
          • 安全性低,通常用于保存不重要的信息

          實(shí)際開發(fā)中,需要根據(jù)不同的業(yè)務(wù)需求來選擇采用哪種技術(shù),例如,用戶的用戶名和密碼等敏感信息不能使用 cookie 存儲,淘寶購物的”最近瀏覽過的商品“,則可以使用 cookie 存儲在客戶端。

          到此這篇關(guān)于Java之JSP教程九大內(nèi)置對象詳解的文章就介紹到這了,所有內(nèi)容也都講解完了,對其他內(nèi)容還感興趣的請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持!

          標(biāo)簽: JSP
          相關(guān)文章:
          日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
          国产精品久久久网站| 精品一区二区三区亚洲 | 精品国产欧美日韩一区二区三区| 石原莉奈在线亚洲二区| 欧美+日本+国产+在线a∨观看| 中文字幕人成乱码在线观看| 国产在线一区不卡| 成人国产精品一区二区免费麻豆| 国产一区2区在线观看| 日韩精品dvd| 黑丝一区二区三区| 亚洲精品精选| 日本在线不卡视频| 国产精品一区二区精品 | 欧美二三四区| 国产日韩专区| 18国产精品| 免费观看亚洲天堂| 99热国内精品| 日本亚州欧洲精品不卡| 欧美国产免费| 欧美精品九九| 国产精品黄色| 午夜久久tv| 国产福利资源一区| 九色精品91| 亚洲精品自拍| 日本韩国欧美超级黄在线观看| 亚洲欧美日本国产专区一区| 久久国产三级| 久久免费高清| 日韩国产一二三区| 欧美日韩一二| 国产精品1区| 国产亚洲激情| 国产一区二区视频在线看| 亚洲综合三区| 天堂日韩电影| 麻豆精品国产91久久久久久| 国产精品美女| 日韩黄色大片网站| 亚洲精品激情| 国产精品7m凸凹视频分类| 久久久精品国产**网站| 一区二区三区网站| 婷婷久久一区| 亚洲精品在线影院| 国产精品红桃| 久久激情五月婷婷| 欧美视频二区| 亚洲1区在线| 亚洲自拍另类| 亚洲精品国产偷自在线观看| 国产精品久久久久久久免费观看 | 另类av一区二区| 欧洲av不卡| 日韩在线高清| 成人在线免费观看网站| 欧美亚洲tv| 国产精品伦一区二区| 日韩精品视频在线看| 日韩精品社区| 日韩国产欧美三级| 国产精品久久久久久模特| 日本中文字幕不卡| 日韩高清一级| 中文字幕亚洲在线观看| 蜜臀av一区二区在线免费观看 | 伊人久久成人| 亚洲一区成人| 日韩精品欧美精品| 免费在线日韩av| 精品淫伦v久久水蜜桃| 久久uomeier| 性欧美69xoxoxoxo| 久久午夜精品一区二区| 日本成人精品| 国产福利一区二区精品秒拍| 国产精品久久久久久久久久白浆| 国产精品一区三区在线观看| 中文一区一区三区高中清不卡免费| 成人日韩精品| 日韩专区在线视频| 国产精品黄色片| 91精品亚洲| 天堂va欧美ⅴa亚洲va一国产| 欧美亚洲三级| 九九精品调教| 亚洲精品欧洲| 国产精品不卡| 丝袜美腿亚洲色图| 六月丁香综合在线视频| 日韩不卡在线| 国产视频亚洲| 精品国产91| 亚洲乱码视频| 亚洲啊v在线| 亚洲精品在线国产| 99精品在线免费在线观看| 亚洲精品四区| 亚洲伦乱视频| 国产美女久久| 免费视频一区二区| 在线人成日本视频| 国产伦理一区| 爽好多水快深点欧美视频| 成人免费一区| 日韩不卡在线观看日韩不卡视频| 色偷偷色偷偷色偷偷在线视频| 亚洲精品系列| 99国产精品久久久久久久成人热| 麻豆成人av在线| 日韩欧美久久| 亚洲精品一二三区区别| 日韩一区欧美| 四虎8848精品成人免费网站| 日本中文字幕视频一区| 午夜亚洲福利在线老司机| 久久天堂精品| 久久久久久自在自线| 久久影院资源站| 国产图片一区| 国产精品最新| 亚洲视频电影在线| 爽好久久久欧美精品| 久久久影院免费| 亚洲高清成人| 久久中文字幕二区| 激情久久五月| 蜜桃成人av| 中日韩男男gay无套| 国产精品日韩久久久| 欧美精品黄色| 免费在线欧美视频| 日本久久二区| 国产精品videossex久久发布| 久久精品97| 美女久久99| 国产精品mv在线观看| 久久久精品国产**网站| 国产欧美日韩精品高清二区综合区| 91精品一区| 国产aⅴ精品一区二区四区| 日韩av自拍| 婷婷综合激情| 亚洲精品伊人| 精品福利久久久| 欧美在线资源| 四虎成人精品一区二区免费网站| 欧美日韩一区二区三区在线电影| 日韩手机在线| 成人在线黄色| 妖精视频成人观看www| 久久久久美女| 日本a级不卡| 日本精品不卡| 无码日韩精品一区二区免费| 麻豆国产精品| 99成人在线视频| 国产亚洲观看| 欧美成人亚洲| 国产精品1区在线| 欧美网站在线| 国产精品传媒麻豆hd| 午夜影院欧美| 欧美精品99| 国产视频一区在线观看一区免费| 国产精选一区| se01亚洲视频| 九九九精品视频| 日韩视频中文| 精品国产免费人成网站| 日韩中文字幕| 欧美成人精品| sm捆绑调教国产免费网站在线观看| 亚洲毛片在线| 国产免费成人| 久久亚洲精品中文字幕蜜潮电影| 日本欧美在线| 老牛影视一区二区三区| 日韩中文影院| 成人在线超碰| 国产伦精品一区二区三区在线播放| 中文字幕系列一区| 久久精品资源| 国产精品xxx在线观看| 亚洲日产国产精品| aa亚洲婷婷| 欧美成人日韩| 久久国产成人午夜av影院宅| 福利一区二区| 97在线精品| 欧美日韩国产观看视频| 激情久久一区二区| 97精品国产福利一区二区三区| 国产精品地址| 精品久久99| 国产成人久久精品一区二区三区| 日本欧美久久久久免费播放网| 亚洲精品欧洲|