黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

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

jsp九大內(nèi)置對(duì)象一覽表

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

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

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

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

九大內(nèi)置對(duì)象

jsp 中定義了 9 個(gè)內(nèi)置對(duì)象。

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

jsp 的內(nèi)置對(duì)象主要有以下特點(diǎn):

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

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

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

它們分別是:pagecontext(page 域?qū)ο螅equest(request 域?qū)ο螅?、session(session 域?qū)ο螅?、以?application(application 域?qū)ο螅?/p>

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

  • void:setattribute(string name, object o)  將屬性保存到域?qū)ο笾?/li>
  • object:getattribute(string name)  獲取域?qū)ο笾械膶傩灾?/li>
  • void:removeattribute(string name)  將屬性從域?qū)ο笾幸瞥?/li>

jsp 中的 4 個(gè)域?qū)ο蟮淖饔糜蚋鞑幌嗤?,如下?/p>

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

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

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

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

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

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

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

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

jsp request對(duì)象

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

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

示例

在 index.jsp 頁面使用 getheadernames() 方法獲取 http 頭信息,并遍歷輸出參數(shù)名稱和對(duì)應(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請(qǐng)求頭信息</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>

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

jsp response對(duì)象

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

response 對(duì)象的常用方法如下:

  • void addheader(string name, string value):添加頭信息(參數(shù)名稱和對(duì)應(yīng)值)
  • void addcookie(cookie cookie):添加 cookie 信息
  • void sendredirect(string location):實(shí)現(xiàn)頁面重定向
  • void setstatus(int sc):實(shí)現(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>登錄失敗,用戶名或密碼錯(cuò)誤!</h2>
</body>
</html>

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

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

登錄成功頁面

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

登錄失敗頁面

jsp out對(duì)象

jsp out 是 javax.servlet.jsp.jspwriter 的實(shí)例對(duì)象。

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

out 對(duì)象的常用方法如下:

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

示例

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

下面我們使用 out 對(duì)象的 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>

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

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

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

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

相關(guān)文章