电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:47日期:2022-06-07 17:13:02
目錄
  • JSP九大內置對象一覽表
  • 九大內置對象
  • 四大域對象
  • JSP request對象
    • 示例
  • JSP response對象
    • 示例
  • JSP out對象
    • 示例

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>    <h2>獲取HTTP請求頭信息</h2>    <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>

運行結果如下:

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>    <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>

運行結果如下所示:

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

登錄成功頁面

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

登錄失敗頁面

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>

運行結果如下:

index.jsp運行結果

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

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

標簽: JSP
主站蜘蛛池模板: 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 福州甲醛检测-福建室内空气检测_环境检测_水质检测-福建中凯检测技术有限公司 | 大型低温冷却液循环泵-低温水槽冷阱「厂家品牌」京华仪器_京华仪器 | 雷冲击高压发生器-水内冷直流高压发生器-串联谐振分压器-武汉特高压电力科技有限公司 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 动力配电箱-不锈钢配电箱-高压开关柜-重庆宇轩机电设备有限公司 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 半容积式换热器_北京浮动盘管换热器厂家|北京亿丰上达 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 活性氧化铝|无烟煤滤料|活性氧化铝厂家|锰砂滤料厂家-河南新泰净水材料有限公司 | 粉碎机_塑料粉碎机_塑料破碎机厂家-星标机械| 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 法兰螺母 - 不锈钢螺母制造厂家 - 万千紧固件--螺母街 | 玻璃钢型材_拉挤模具_玻璃钢拉挤设备——滑县康百思 | 阻垢剂,反渗透阻垢剂,缓蚀阻垢剂-山东普尼奥水处理科技有限公司 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | pbootcms网站模板|织梦模板|网站源码|jquery建站特效-html5模板网 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 真丝围巾|真丝丝巾|羊绒围巾|围巾品牌|浙江越缇围巾厂家定制 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 微量水分测定仪_厂家_卡尔费休微量水分测定仪-淄博库仑 | 贴片电感_贴片功率电感_贴片绕线电感_深圳市百斯特电子有限公司 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 盘煤仪,盘料仪,盘点仪,堆料测量仪,便携式激光盘煤仪-中科航宇(北京)自动化工程技术有限公司 | 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 暴风影音 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 称重传感器,测力传感器,拉压力传感器,压力变送器,扭矩传感器,南京凯基特电气有限公司 | 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 别墅图纸超市|别墅设计图纸|农村房屋设计图|农村自建房|别墅设计图纸及效果图大全 | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 工作心得_读书心得_学习心得_找心得体会范文就上学道文库 | 课件导航网_ppt课件_课件模板_课件下载_最新课件资源分享发布平台 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 合肥礼品公司-合肥礼品定制-商务礼品定制公司-安徽柏榽商贸有限公司 | 复盛空压机配件-空气压缩机-复盛空压机(华北)总代理 |