JSP九大內置對象,七大動作,三大指令

JSP之九大內置對象

隱藏對象入門探索

Servlet 和JSP中輸出數據都需要使用out對象。Servlet 中的out對象是通過getWriter()方法獲取的。而JSP中沒有定義out對象卻可以直接使用。這是因為out是JSO的內置隱藏對象。JSP中的常見的9個內置隱藏對象如下
這里寫圖片描述

out輸出流對象

  隱藏對象out是javax.servlet.jsp.JspWriter類的實例服務器向客戶輸出的字符內容可以通過out對象輸出。獲取方法: PrintWriter out = response.getWriter();out對象常用的方法如下:
1   void clear()   清除緩沖區的內容
2   void clearBuffer()   清除緩沖區的當前內容
3   void flush()   將緩沖內容flush到客戶端瀏覽器
4   int getBufferSize()   返回緩沖大小,單位KB
5   int getRemaining()   返回緩沖剩余大小,單位KB
6   isAutoFlush()   返回緩沖區滿時,是自動清空還是拋出異常
7   void close()    關閉輸出流

request請求對象

  隱藏對象request是javax.servlet.ServletRequest類的實例,代表客戶端的請求。request包含客戶端的信息以及請求的信息,如請求那個文件,附帶的地址參數等。每次客戶端的請求都會產生一個request實例。request對象的常用方法如
1   object getAttribute(String name)   返回指定屬性的屬性值
2   Enumeration getAttributeNames()    返回所有可用屬性名的枚舉
3  String getCharacterEncoding()   返回字符編碼方式
4   int getContentLength()   返回請求體的長度(以字節數)
5   String getContentType()   得到請求體的MIME類型
6   ServletInputStream getInputStream()   得到請求體中一行的二進制流
7   String getParameter(String name)   返回name指定參數的參數值
8   Enumeration getParameterNames()   返回可用參數名的枚舉
9   String[] getparameterValues(String name)    返回包含參數name的所有值的數組
10   String getProtocol()   返回請求用的協議類型及版本號
11   String getScheme()   返回請求用的計劃名,如:http https及ftp等
12   int getServerPort()   返回服務器接受此請求所用的端口號
13   String getServerName()    返回接受請求的服務器主機名
14   BufferedReader getReader()    返回解碼過了的請求體
15   String getRemoteAddr()    返回發送此請求的客戶端IP地址
16   String getRemoteHost()   返回發送此請求的客戶端主機名
17   void setAttribute(String key Object obj)   設置屬性的屬性值
18   String getRealPath(String path)   返回一虛擬路徑的真實路徑
19   void setCharacterEncoding(“gb2312”)   設置接受參數的字符集

response響應對象

  隱藏對象response是javax.servlet.ServletResponse類的實例,代表客戶端的響應。服務器端的任何輸出都通過response對象發送到客戶端瀏覽器。每次服務器端都會響應一個response實例。response對象的常用方法如下:
1   String getCharacterEncoding()    返回響應用的是何種字符編碼
2   ServletOutputStream getOutputStream()   返回響應的一個二進制輸出流
3   PrintWriter getWriter()   返回可以向客戶端輸出字符的一個對象
4    void setContentLength(int len)   設置響應頭長度
5   void setContentType(String type)   設置響應的MIME類型
6   sendRedirect(java.lang.String location)   重新定向客戶端的請求
7   void setCharacterEncoding(“gb2312”)   設置響應頭的字符集

config配置對象

  隱藏對象config是javax.servlet.ServletConfig類的實例,ServletConfig封裝了配置在web.xml中初始化JSP的參數。JSP中通過config獲取這些參數。每個JSP文件中共有一個config對象。config對象的常用方法如表:
1  String getInitParameter(String name)  返回配置在web.xml中初始化參數
2  Enumeration getInitParameterNames()   返回所有的初始化參數名稱
3  ServletContext getServletContext()  返回ServletContext對象
4  String getServletName  返回Servlet對象

session會話對象

  隱藏對象session是javax.servlet.http.HttpSession類的實例。session與cookie是記錄客戶訪問信息的兩種機制,session是用于服務器端保存用戶信息,cookie用于在客戶端保存用戶信息。Servlet中通過request.getSession()來獲取session對象,而JSP中可以直接使用。如果JSP中配置了<%@page session=”false”%>,則隱藏對象session不可用。每個用戶對應一個session對象。session對象的常用方法如下:
1   long getCreationTime()   返回Session創建時間
2   public String getId()   返回Session創建時JSP引擎為它設的唯一ID號
3   long getLastAccessedTime()   返回此Session里客戶端最近一次請求時間
4   int getMaxInactiveInterval()   返回兩次請求間隔多長時間此Session被取消(ms)
5   String[] getValueNames()   返回一個包含此Session中所有可用屬性的數組
6   void invalidate()  取消Session,使Session不可用
7   boolean isNew()   返回服務器創建的一個Session,客戶端是否已經加入
8   void removeValue(String name)   刪除Session中指定的屬性
9   void setAttribute(String key,Object obj)   設置Session的屬性
10, Object getAttribute(String name)   返回session中屬性名為name的對象

application應用程序對象

  隱藏對象application是javax.servlet.ServletContext類的對象。application封裝JSP所在Web應用程序的信息,例如web.xml中國配置的全局的初始化信息。Servlet中application對象需要通過ServletConfig.getServletContext()來獲取。整個Web應用程序對應一個application對象。application對象常用的方法如下:
1,  Object getAttribute(String name)  返回application中屬性為name的對象
2,  Enumeration getAttributeNames()   返回application中的所有屬性名
3,  void setAttribute(String name,Object value)  設置application屬性
4,  void removeAttribute(String name)   移除application屬性
5,  String getInitParameter(String name)  返回全局初始話函數
6,  Enumeration getInitParameterNames()  返回所有的全局初始話參數
7,  String getMimeType(String filename)  返回文件的文檔類型,例如getMimeType(“abc.html”)將返回“text.html”
8,  String getRealPath(String relativePath)  返回Web應用程序內相對網址對應的絕對路徑

page頁面對象

  隱藏對象page是javax.servlet.jsp.HttpJspPage類的實例。page對象代表當前JSP頁面,是當前JSP編譯后的Servlet類的對象。page想當于Java類中的關鍵字this

pageContext頁面上下文對象

  隱藏對象pageContext為javax.servlet.jsp.PageContext類的實例。pageContext對象代表當前JSP頁面編譯后的內容。通過pageContext能夠獲取到JSP中的資源。pageContext常用方法如下:
1    JspWriter getOut()   返回out對象
2    HttpSession getSession()    返回Session對象(session)
3    Object getPage()   返回page對象
4    ServletRequest getRequest()    返回request對象
5    ServletResponse getResponse()    返回response對象

6    void setAttribute(String name,Object attribute)    設置屬性及屬性值 ,在page范圍內有效
7    void setAttribute(String name,Object obj,int scope)   在指定范圍內設置屬性及屬性值 ,int1=page,2=request,3=session,4=application
8   public Object getAttribute(String name)   取屬性的值
9   Object getAttribute(String name,int scope)   在指定范圍內取屬性的值
10   public Object findAttribute(String name)   尋找一屬性,返回起屬性值或NULL
11   void removeAttribute(String name)   刪除某屬性
12   void removeAttribute(String name,int scope)    在指定范圍刪除某屬性
13   int getAttributeScope(String name)   返回某屬性的作用范圍
14  Enumeration getAttributeNamesInScope(int scope)   返回指定范圍內可用的屬性名枚舉
15   void release()   釋放pageContext所占用的資源
16  void forward(String relativeUrlPath)    使當前頁面重導到另一頁面
17   void include(String relativeUrlPath)    在當前位置包含另一文件

Eexception異常對象

  隱藏對象exception為java.lang.Exception類的對象。exception封裝了JSP中拋出的異常信息。要使用exception隱藏對象,需要設置<%@page isErrorPage”true”%>。隱藏對象exception通常被用來處理錯誤頁面,
  

JSP之三大指令

page指令

實例:<%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8”%>
import:等同與import語句
<%@ page import=”java.util.*” %>
<%@ page import=”java.util., java.net.” %>
在一個JSP頁面中可以給出多個page指令,而且import是可以重復出現的
<%@ page import=”java.util.*” %>
<%@ page import=”java.next.*” %>

pageEncoding:指定當前頁面的編碼
如果pageEncoding沒有指定,那么默認為contentType的值;
如果pageEncoding和contentType都沒有指定,那么默認值為iso-8859-1

contentType:等同與調用response.setContentType(“text/html;charset=xxx”);
如果沒有指定contentType屬性,那么默認為pageEncoding的值;
如果contentType和pageEncoding都沒有指定,那么默認值為iso-8859-1

errorPage:如果當前頁面出現異常,那么跳轉到errorPage指定的jsp頁面。
例如:<%@ page errorPage=”b.jsp” %>
isErrorPage:上面示例中指定b.jsp為錯誤頁面,但在b.jsp中不能使用內置對象exception,保有b.jsp中使用<%@page isErrorPage=”true”%>時,才能在b.jsp中使用錯誤頁面。
autoFlush:當autoFlush為true時,表示out流緩沖區滿時會自動刷新。默認為true
buffer:指定out流的緩沖區大小,默認為8KB
isELIgnored:當前JSP頁面是否忽略EL表達式,默認為false,表示不忽略,即支持EL表達式

page指令不常用的屬性:
language:當前JSP編譯后的語言!默認為java,當前也只能選擇java
info:當前JSP的說明信息
isThreadSafe:當前JSP是否執行只能單線程訪問,默認為false,表示支持并發訪問
session:當前頁面是否可以使用session,默認為false,表示支持session的使用。
extends:指定JSP編譯的servlet的父類!
Page指令相關的屬性

include指令

JSP可以通過include指令來包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是該JSP文件的一部分,會被同時編譯執行。
Include指令的語法格式如下:
<%@ include file=”文件相對 url 地址” %>

taglib指令

taglib指令是用來在當前jsp頁面中導入第三方的標簽庫
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” % prefix=”c” >
prefix:指定標簽前綴,這個東西可以隨意起名
uri:指定第三方標簽庫的uri(唯一標識)
當然,需要先把第三方標簽庫所需jar包放到類路徑中。

JSP之七大動作

jsp:include:在頁面被請求的時候引入一個文件。
jsp:useBean:尋找或者實例化一個 JavaBean。
jsp:setProperty:設置 JavaBean 的屬性。
jsp:getProperty:輸出某個 JavaBean 的屬性。
jsp:forward:把請求轉到一個新的頁面。
jsp:plugin:根據瀏覽器類型為 Java 插件生成 OBJECT 或 EMBED 標記
詳細查看:JSP 動作元素 | 菜鳥教程 .

轉載于:https://www.cnblogs.com/snailclimb/p/9086515.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372614.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372614.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372614.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab變步長的梯形公式,用變步長梯形法計算積分∫sinx/x*x的近似值(二分二次即可)...

共回答了20個問題采納率&#xff1a;90%題目沒寫全吧?現假定積分區間為[0,1],教材《數值分析》(華中科技大學出版)第87頁,例題4.2就有詳細的解答.貌似題目也有錯?確定分母是【x^2】?現在附上該例題(分母是x)的全部解答過程&#xff1a;先對整個區間[0,1]使用梯形公式.對于函…

使用Cloud SQL的Google App Engine全文搜索

許多Google AppEngine開發人員一直在等待全文搜索功能&#xff0c;特別是來自網絡上最大的搜索引擎Google。 很高興看到Google團隊正在努力&#xff0c;您可以在Google I / O 2011大會上簽到&#xff1a; Bo Majewski和Ged Ellis進行的全文本搜索 。 據我所知&#xff0c;非常有…

php 數組值sum,php sum數組值(如果特定列的值重復)

我有一個陣列。我要檢查是否有重復的費用,如果有,我要用相同的費用列匯總所有值。[12] > Array([type] > Other Miscellaneous Fees[fee] > 158[amount] > -22.56[code] > COL_AUDIO[feedesc] > COLLEGE AUDIO VISUAL FEE)[13] > Array([type] > Other…

hdu-5734 Acperience(數學)

題目鏈接&#xff1a; Acperience Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem DescriptionDeep neural networks (DNN) have shown significant improvements in several application domains including computer vision and…

Ninject依賴注入(一)

Ninject學習筆記&#xff08;一&#xff09; Ninject學習筆記&#xff08;一&#xff09;理解依賴注入DI概念什么是DI&#xff1f;DI是如何工作的&#xff1f;什么是DI容器使用Ninject如何使用NinjectNinject對象生命周期暫時范圍單例范圍線程范圍請求范圍自定義范圍Ninject模塊…

我如何向團隊解釋依賴注入

最近&#xff0c;我們公司開始開發基于Java的新Web應用程序&#xff0c;經過一些評估過程&#xff0c;我們決定使用Spring。 但是許多團隊成員并不了解Spring和Dependency Injection的原理。 因此&#xff0c;我被要求給出一個速成班&#xff0c;介紹什么是Spring上的依賴注入和…

可以添加自定義的Select控件

1.控件dom <select name"WebSiteTarget" id"WebSiteTarget" class"w1" onchange"editable2(this);"><option value"-1">請選擇城市</option><option>福州</option><option>廈門</op…

innodb_io_capacity =innodb_lru_scan_depth*inoodb_buffer_pool_instances。與 checkpoint

innodb_lru_scan_depth:每個緩沖池刷臟頁的能力 innodb_io_capacity: iops inoodb_buffer_pool_instances8 :緩沖池的個數 .關系&#xff1a; innodb_io_capacity > innodb_lru_scan_depth * inoodb_buffer_pool_instances 轉載于:https://www.cnblogs.com/zengkefu/…

Java中的責任鏈模式

當應有幾個處理器來執行某項操作并為這些處理器定義特定順序時&#xff0c;就需要采用責任鏈設計模式。 在運行時處理器順序的可變性也很重要。模式的UML表示如下&#xff1a; 處理程序定義處理器對象的一般結構。 這里的“ HandleRequest”是抽象處理器方法。 處理程序還具有自…

php的excel源碼下載,PHPExcel-5 - 源碼下載|Windows編程|其他小程序|源代碼 - 源碼中國...

文件名大小更新時間PHPExcel02019-05-11PHPExcel\.gitattributes702019-01-02PHPExcel\.gitignore1082019-01-02PHPExcel\.travis.yml5122019-01-02PHPExcel\16329.xlsx510662019-05-11PHPExcel\19093.xlsx511932019-05-11PHPExcel\43877.xlsx530952019-05-11PHPExcel\62045.xl…

使用Visual Studio Code開發Asp.Net Core WebApi學習筆記(六)-- 依賴注入

本篇將介紹Asp.Net Core中一個非常重要的特性&#xff1a;依賴注入&#xff0c;并展示其簡單用法。 第一部分、概念介紹 Dependency Injection&#xff1a;又稱依賴注入&#xff0c;簡稱DI。在以前的開發方式中&#xff0c;層與層之間、類與類之間都是通過new一個對方的實例進行…

基于JAX-WS的webService開發實例

最近因為工作原因接觸到webService&#xff0c;所以記錄下開發中碰到的問題&#xff0c;方便自己以后復習&#xff0c;順便發揚一下開源精神。剛剛接觸webServie如果有什么錯誤歡迎大家指正。 本地環境&#xff1a;myEclipse10.6 tomcat7 JDK7 jaxws-ri-2.2.10 第一步&#xff…

完整的WebApplication JSF EJB JPA JAAS –第2部分

視圖–創建和JSF設置 本教程是第1部分的繼續。 讓我們創建一個新的Dynamic Web Project 。 如下圖所示創建它&#xff1a; 注意&#xff1a;在某些時候&#xff0c;Eclipse會詢問您是否要添加JSF功能&#xff08;自動完成&#xff09;&#xff0c;然后啟用它。 就像下面的屏幕…

lempel ziv matlab,基于Python的LempelZiv算法的熵估計

此函數允許估計時間序列的熵。它基于Lempel-Ziv壓縮算法。對于長度為n的時間序列&#xff0c;熵估計為&#xff1a;E(1/n和L_i)^-1 ln(n)式中&#xff0c;L逯i是從位置i開始的最短子串的長度&#xff0c;該子串之前沒有從位置1出現到i-1。當n接近無窮大時&#xff0c;估計的熵收…

Android使用繪圖Path總結

Path作為Android中一種相對復雜的繪圖方式&#xff0c;官方文檔中的有些解釋并不是很好理解&#xff0c;這里作一個相對全面一些的總結&#xff0c;供日后查看&#xff0c;也分享給大家&#xff0c;共同進步。 1.基本繪圖方法 addArc(RectF oval, float startAngle, float swee…

2017.3.23下午

下午通過對OSPF基本原理進一步的學習&#xff0c;對上午學習的內容進行了復習。 轉載于:https://www.cnblogs.com/bgd140206206/p/6606192.html

編寫Eclipse插件教程–第1部分

Eclipse是三個最受歡迎的Java開發IDE之一。 其成功的原因之一是其可擴展性。 對于任何知道該怎么做并且已經做到的人來說&#xff0c;編寫eclipse插件都可以非常輕松快捷。 不幸的是&#xff0c;第一次在Eclipse中進行操作可能會非常耗時且令人沮喪。 Eclipse框架非常龐大&…

簡單Window下 Android Studio的安裝

&#xff08;1&#xff09;首先安裝JDK 下載JDK 本人覺得官方網站下JDK比較慢&#xff0c;可以直接百度JDK&#xff0c;&#xff08;如果是64位 百度搜索記得64位&#xff09; 類似于這樣的下載 安裝可以看下教程&#xff0c;包括環境變量的配置 如何安裝JDK &#xff08;2&…

日期處理一之NSLalendar的使用

一、日期和時間模式 日期和時間格式由日期和時間模式字符串組成&#xff0c;在日期和時間模式字符串中未加引號的A到‘Z’和a到‘z’被解釋為模式字母&#xff0c;用來表示日期或時間。字符串元素&#xff0c;文本可以使用單引號&#xff08;‘’&#xff09;引起來使用。定義以…

java的使用Pair要導入什么包,第三方jar包的使用

被導入的外部類所在源文件通常要打包成jar包&#xff0c;java中的jar文件裝的是 .class 文件。它是一種壓縮格式和zip兼容&#xff0c;被稱為jar包。JDK提供的許多類&#xff0c;也是以jar包的形式提供的。在用的時候呢&#xff0c;你的文件里有很多個類&#xff0c;把這些類和…