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

JSP九大內置對象,七大動作,三大指令
原創SnailClimb在csdn 最後發佈於2017-03-21 02:51:59 閱讀數 10518  收藏
展開
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的父類!


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 動作元素 | 菜鳥教程 .
————————————————
版權聲明:本文爲CSDN博主「SnailClimb在csdn」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_34337272/article/details/64310849

發佈了23 篇原創文章 · 獲贊 16 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章