中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java的JSP內置對象怎么使用

發布時間:2023-01-13 09:46:37 來源:億速云 閱讀:114 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Java的JSP內置對象怎么使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Java的JSP內置對象怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

JSP九大內置對象一覽表

為了簡化頁面的開發過程,JSP 提供了一些內置對象。

JSP 內置對象又稱為隱式對象,它們由容器實現和管理。

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

注意:JSP 內置對象只能在腳本和表達式中使用,在聲明中不能使用。

九大內置對象

JSP 中定義了 9 個內置對象。

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

JSP 的內置對象主要有以下特點:

  • 由 JSP 規范提供,不用編寫者實例化;

  • 通過 Web 容器實現和管理;

  • 所有 JSP 頁面均可使用;

  • 只有在腳本元素的表達式或代碼段中才能使用。

四大域對象

在 JSP 九大內置對象中,包含四個域對象。

它們分別是:pageContext(page 域對象)、request(request 域對象)、session(session 域對象)、以及 application(application 域對象)。

JSP 中的 4 個域對象都能通過以下 3 個方法,對屬性進行保存、獲取和移除操作。

  • void:setAttribute(String name, Object o)  將屬性保存到域對象中

  • Object:getAttribute(String name)  獲取域對象中的屬性值

  • void:removeAttribute(String name)  將屬性從域對象中移除

JSP 中的 4 個域對象的作用域各不相同,如下。

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

該作用域中的屬性只在當前 JSP 頁面有效,跳轉頁面后失效。

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

該作用域中的屬性只在當前請求范圍內有效。服務器跳轉頁面后有效,例如jsp:forward;客戶端跳轉頁面后無效,例如超鏈接。

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

該作用域中的屬性只在當前會話范圍內有效,網頁關閉后失效。

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

該作用域中的屬性在整個應用范圍內有效,服務器重啟后失效。

JSP request對象

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

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

示例

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

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <h3>獲取HTTP請求頭信息</h3>
    <table width="100%" border="1" align="center">
        <tr bgcolor="#949494">
            <th>參數名稱</th>
            <th>參數值</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>

運行結果如下:

Java的JSP內置對象怎么使用

JSP response對象

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

response 對象的常用方法如下:

  • void addHeader(String name, String value):添加頭信息(參數名稱和對應值)

  • void addCookie(Cookie cookie):添加 cookie 信息

  • void sendRedirect(String location):實現頁面重定向

  • void setStatus(int sc):實現頁面的響應狀態代碼

  • void setContentType(String type):設置頁面的 MIME 類型和字符集

  • void setCharacterEncoding(String charset):設定頁面響應的編碼類型

示例

下面在 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>
    <h3>用戶登錄</h3>
    <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>
    <h3>登錄成功!</h3>
</body>
</html>

failed.jsp 代碼如下:

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

運行結果如下所示:

Java的JSP內置對象怎么使用

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

Java的JSP內置對象怎么使用

登錄成功頁面

Java的JSP內置對象怎么使用

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

Java的JSP內置對象怎么使用

登錄失敗頁面

JSP out對象

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

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

out 對象的常用方法如下:

  • void print():將內容直接打印在 HTML 標簽中

  • void println():類似于 print,唯一區別是 println 方法添加了換行符

  • void newLine():輸出換行字符

  • void clear():清除頁面緩沖區

  • boolean isAutoFlush():檢查頁面是否自動清除緩沖區

示例

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

下面我們使用 out 對象的 print、println 和 newLine 方法將內容輸出到 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("我們的網址是:");
        out.print("www.biancheng.net");
    %>
</body>
</html>

運行結果如下:

Java的JSP內置對象怎么使用

index.jsp運行結果

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

讀到這里,這篇“Java的JSP內置對象怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜川县| 深水埗区| 类乌齐县| 通河县| 兰考县| 宜黄县| 什邡市| 开鲁县| 平阳县| 齐河县| 离岛区| 潞西市| 四川省| 高尔夫| 元江| 惠水县| 清新县| 赫章县| 旬邑县| 寿阳县| 定远县| 芮城县| 牟定县| 富民县| 凭祥市| 永福县| 古蔺县| 夏津县| 泗阳县| 巍山| 屏山县| 广州市| 阳谷县| 海宁市| 长白| 庄浪县| 白银市| 尉犁县| 枝江市| 清苑县| 平潭县|