色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:40日期:2022-06-07 17:13:02
目錄
  • JSP九大內(nèi)置對象一覽表
  • 九大內(nèi)置對象
  • 四大域?qū)ο?/li>
  • JSP request對象
    • 示例
  • JSP response對象
    • 示例
  • JSP out對象
    • 示例

JSP九大內(nèi)置對象一覽表

為了簡化頁面的開發(fā)過程,JSP 提供了一些內(nèi)置對象。

JSP 內(nèi)置對象又稱為隱式對象,它們由容器實現(xiàn)和管理。

在 JSP 頁面中,這些內(nèi)置對象不需要預(yù)先聲明,也不需要進行實例化,我們可以直接在腳本和表達(dá)式中使用。

注意:JSP 內(nèi)置對象只能在腳本和表達(dá)式中使用,在聲明中不能使用。

九大內(nèi)置對象

JSP 中定義了 9 個內(nèi)置對象。

它們分別是:request、response、session、application、out、pagecontext、config、page 和 exception,這些對象在客戶端和服務(wù)器端交互的過程中分別完成不同的功能。

JSP 的內(nèi)置對象主要有以下特點:

  • 由 JSP 規(guī)范提供,不用編寫者實例化;
  • 通過 Web 容器實現(xiàn)和管理;
  • 所有 JSP 頁面均可使用;
  • 只有在腳本元素的表達(dá)式或代碼段中才能使用。

四大域?qū)ο?/h2>

在 JSP 九大內(nèi)置對象中,包含四個域?qū)ο蟆?/p>

它們分別是:pageContext(page 域?qū)ο螅equest(request 域?qū)ο螅ession(session 域?qū)ο螅⒁约?application(application 域?qū)ο螅?/p>

JSP 中的 4 個域?qū)ο蠖寄芡ㄟ^以下 3 個方法,對屬性進行保存、獲取和移除操作。

  • void:setAttribute(String name, Object o) 將屬性保存到域?qū)ο笾?/li>
  • Object:getAttribute(String name) 獲取域?qū)ο笾械膶傩灾?/li>
  • void:removeAttribute(String name) 將屬性從域?qū)ο笾幸瞥?/li>

JSP 中的 4 個域?qū)ο蟮淖饔糜蚋鞑幌嗤缦隆?/p>

page:如果把屬性保存到 pageContext 中,則它的作用域是 page。

該作用域中的屬性只在當(dāng)前 JSP 頁面有效,跳轉(zhuǎn)頁面后失效。

request:如果把屬性保存到 request 中,則它的作用域是 request。

該作用域中的屬性只在當(dāng)前請求范圍內(nèi)有效。服務(wù)器跳轉(zhuǎn)頁面后有效,例如jsp:forward;客戶端跳轉(zhuǎn)頁面后無效,例如超鏈接。

session:如果把屬性保存到 session 中,則它的作用域是 session。

該作用域中的屬性只在當(dāng)前會話范圍內(nèi)有效,網(wǎng)頁關(guān)閉后失效。

application如果把屬性保存到 application 中,則它的作用域是 application。

該作用域中的屬性在整個應(yīng)用范圍內(nèi)有效,服務(wù)器重啟后失效。

JSP request對象

JSP request 是 javax.servlet.http.HttpServletRequest 的實例對象,主要用來獲取客戶端提交的數(shù)據(jù)。

request 對象提供了一系列方法,可以獲取請求參數(shù)信息、表單數(shù)據(jù)、HTTP 頭信息、cookie 和 HTTP 請求方法等。

示例

在 index.jsp 頁面使用 getHeaderNames() 方法獲取 HTTP 頭信息,并遍歷輸出參數(shù)名稱和對應(yīng)值。

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.util.*"%><!DOCTYPE html><html><head></head><body>    <h2>獲取HTTP請求頭信息</h2>    <table width="100%" border="1" align="center"><tr bgcolor="#949494">    <th>參數(shù)名稱</th>    <th>參數(shù)值</th></tr><%    Enumeration headerNames = request.getHeaderNames();    while (headerNames.hasMoreElements()) {String paramName = (String) headerNames.nextElement();out.print("<tr><td>" + paramName + "</td>\n");String paramValue = request.getHeader(paramName);out.println("<td> " + paramValue + "</td></tr>\n");    }%>    </table></body></html>

運行結(jié)果如下:

JSP response對象

JSP response 是 javax.servlet.http.HttpServletResponse 的實例對象。response 對象和 request 對象相對應(yīng),主要用于響應(yīng)客戶端請求,將處理信息返回到客戶端。

response 對象的常用方法如下:

  • void addHeader(String name, String value):添加頭信息(參數(shù)名稱和對應(yīng)值)
  • void addCookie(Cookie cookie):添加 cookie 信息
  • void sendRedirect(String location):實現(xiàn)頁面重定向
  • void setStatus(int sc):實現(xiàn)頁面的響應(yīng)狀態(tài)代碼
  • void setContentType(String type):設(shè)置頁面的 MIME 類型和字符集
  • void setCharacterEncoding(String charset):設(shè)定頁面響應(yīng)的編碼類型

示例

下面在 login.jsp 新建表單,在 checkdetails.jsp 接收 login.jsp 提交的用戶名和密碼,與指定的用戶名和密碼相比,相同則登錄成功,重定向到 success.jsp;反之登錄失敗,重定向到 failed.jsp。

login.jsp 代碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html><head></head><body>    <h2>用戶登錄</h2>    <form action="checkdetails.jsp">用戶名: <input type="text" name="username" />   密碼: <input type="text" name="pass" />   <input type="submit" value="登錄" />    </form></body></html>

checkdetails.jsp 代碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html><head></head><body>    <%String username = request.getParameter("username");String password = request.getParameter("pass");if (username.equals("biancheng") && password.equals("bianchengbang")) {    response.sendRedirect("success.jsp");} else {    response.sendRedirect("failed.jsp");}    %></body></html>

success.jsp 代碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html><head></head><body>    <h2>登錄成功!</h2></body></html>

failed.jsp 代碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html><head></head><body>    <h2>登錄失敗,用戶名或密碼錯誤!</h2></body></html>

運行結(jié)果如下所示:

登錄頁面(輸入正確的用戶名和密碼)

登錄成功頁面

登錄頁面(輸入錯誤的用戶名)

登錄失敗頁面

JSP out對象

JSP out 是 javax.servlet.jsp.JspWriter 的實例對象。

out 對象包含了很多 IO 流中的方法和特性,最常用的就是輸出內(nèi)容到 HTML 中。

out 對象的常用方法如下:

  • void print():將內(nèi)容直接打印在 HTML 標(biāo)簽中
  • void println():類似于 print,唯一區(qū)別是 println 方法添加了換行符
  • void newLine():輸出換行字符
  • void clear():清除頁面緩沖區(qū)
  • boolean isAutoFlush():檢查頁面是否自動清除緩沖區(qū)

示例

out 對象的方法相對比較簡單,一般情況下很少使用。

下面我們使用 out 對象的 print、println 和 newLine 方法將內(nèi)容輸出到 HTML 中。index.jsp 代碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.util.*"%><!DOCTYPE html><html><head></head><body>    <%out.print("歡迎來到編程幫,");out.newLine();out.println("我們的網(wǎng)址是:");out.print("www.biancheng.net");    %></body></html>

運行結(jié)果如下:

index.jsp運行結(jié)果

注意:這里的 println 與 newLine 換行指的是 HTML 代碼換行,并不是頁面顯示的換行。頁面顯示換行需要在代碼后面加標(biāo)簽。

到此這篇關(guān)于Java之JSP教程九大內(nèi)置對象詳解(上篇)的文章就介紹到這了,其他兩個部分的內(nèi)容(中、下篇)請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: JSP
主站蜘蛛池模板: 欧美在线看欧美高清视频免费 | 最爽的乱淫片免费 | 日韩精品中文字幕在线观看 | 成年人在线观看视频网站 | 亚洲精品免费网站 | 天堂一区二区三区在线观看 | 国产精品视频免费观看调教网 | 香蕉久久综合精品首页 | 一区二区网站在线观看 | 欧美大尺度免费一级特黄 | 亚洲在线成人 | 欧美成人国产一区二区 | 日韩欧美一区二区三区免费观看 | 一级片观看 | 日本一区二区三区不卡在线视频 | 国产一区二区精品 | 久久精品国产99国产精品 | 欧美一级毛片一免费 | 色综合久久88一加勒比 | 日韩欧美在线综合网高清 | 日日操干 | 欧美性极品hd高清视频 | 亚洲 自拍 欧美 综合 | 国产精品合集久久久久青苹果 | 2021国产精品一区二区在线 | 看美国毛片 | 欧美激情国内自拍偷 | 一级特黄a免费大片 | 久久久久久毛片免费观看 | 久久精品综合免费观看 | 泰国一级毛片aaa下面毛多 | 玖玖在线免费视频 | 精品综合| 国产精品久久久香蕉 | 成人黄色免费网站 | 日韩麻豆 | 午夜性刺激免费视频 | 欧美a在线播放 | 免费一级a毛片在线 | 亚洲综合视频网 | 亚洲欧美日韩国产vr在线观 |