JSP入門學習總結(一)JSP常用的標籤

在jsp學習常用的標籤中需要我們要理解和掌握有三大指令 四大作用域 七大動作 九大對象 下面我就來詳細說下這基礎的標籤的用法和例子

三大指令指的則是 page include taglib 指令它們的用法則有以下例子

Page指令通常設置頁面的一些參數 比如需要導入的java包 頁面編碼格式 頁面緩衝區的設置 頁面的相關信息

<%@ page language=”java” buffer=” 緩衝區大小”autoFlush=”true/false” 設置是否自動緩衝 errorpage=”url 地址” isErrorPage=”true/false” 設置是否錯誤界面 pageEncoding=”頁面編碼格式” import=” 要導入java包名” %>

<%@ include=”url 文件地址 相對地址/絕對地址” %> 此指令通常用於靜態文件的包含 比如html 以及一些靜態的內容的jsp文件

<%@ taglib uri=” url  http://java.sun.com/jstl/corehttp網址” prefix=”c  自定義的標籤前綴”%>

 

四大作用域指的則是 pagerequest session application

page 作用域 指的是當前頁面 即瀏覽器所訪問的當前頁面 包括這個頁面的所有內容 直到頁面被跳轉 或者被響應到其他

request 作用域 指的是同一個請求 這個請求可以包括請求不同的頁面 但是必須是所處於同一個請求內

session 作用域 指的同一個會話 在這一個會話中 所包含的參數 屬性等值是不會變的 也是可以獲取的 那麼什麼是會話呢?通俗的說就是 當我們在瀏覽器輸入一個網站的網址後 請求訪問這個網站 比如說www.google.com 當我們訪問谷歌這個網站的時候 瀏覽器就產生了一個會話 這個會話就是session 包括了我們所請求的一些信息以及我們所留的一些信息。

application 作用域 指的是同一個應用程序 我們知道在javaweb開發中,我們通常會發佈一個web應用在服務器上,那麼這個web應用就是一個應用程序,在此應用程序中,我們可以隨意訪問這個應用程序的所有頁面,而我們所存儲在application中的信息,都會被讀取和改變的。

 

七大動作指的則是 forward include plugin useBean setProperty getProperty param

forward 則是實現頁面跳轉的功能

<jsp:forward url=”要跳轉的頁面URL地址”></jsp:forward>

Include 則是實現頁面包含的功能

<jsp:include page=”要包含的頁面的地址 ”flush=”true/false” 設置是否緩衝 ></jsp:include>

useBean 則是實現javabean技術的標籤

<jsp:useBean id=”要實例化bean的名稱” scope=”其作用域 以上提到了四大作用域 在此就不多說 ” calss=”是實例化的bean 的calss名” ></jsp:useBean>

setProperty 則是實現設置bean的屬性的值

<jsp:setProperty name=”bean 的名稱” property=” *” 所有屬性[param=”parameterName | value=”value ””]></jsp:setProperty>

getProperty 則是獲取bean屬性的值

<jsp:getProperty name=”bean的名稱”property=”bean 的屬性的名稱”></jsp:getProperty>

plugin param 這兩個標籤頁比較少用 目前博主也暫時沒遇見過 也沒用過 所以暫時先不寫這兩個的用法 請理解

 

那麼九大對象則指的是什麼呢?不會說有九個對象的人吧看來作爲JSP 有九個對象日子也是蠻好過的哈哈 開個玩笑

九大對象則是指 out cookie session request response application config exceptionpage

out 這個對象通常也就是用來輸出的 這個和system.out.println很類似的

cookie session application 這三個內置對象都是用於存儲數據的 關於它們之間的差別和用法 詳細請看另一文章 此文不多說

request response 這兩個對象 一個是針對客戶端請求的(request) 一個是針對服務端迴應的(response)這兩個對象也可以存儲數據設置參數之類的

config 則是一個配置對象 一般用於配置servlet初試的數據結構

exception 則是一個錯誤對象 只有page指定了isErrorpage=”true”的之後 纔可以使用這個對象

pageContext 則是一個頁面對象 包含了此頁面的已經命令空間的對象的訪問


九大對象的方法使用列表

request對象:用於獲取客戶端提交的數據,這些數據包括頭信息、客戶端地址、請求方式等。
javax.servlet.http.HttpServletRequest的實例

1.getParameter(String name) 獲取表單提交的數據
2. getParameterName() 獲取客戶端提交的所有參數名
3. getAttribute(String name)
獲取name指定的屬性
4. getAttributeName()
獲取request對象所有屬性的名稱集合
5. getSession(Boolean create)
獲取HttpSession對象
6. getCookies()
獲取Cookie對象
7. getProtocol()
獲取客戶端協議名稱
8. getServletPath()
獲取客戶端請求的腳本的相對路徑
9. getMethod()
獲取客戶端提交數據的方式,如get 、post等
10. getHeader()
獲取文件頭信息
11. getRemoteAddr()
獲取客戶端IP地址
12. getServerName()
獲取服務器名稱
13. getRemoteHost()
獲取客戶端主機名
14. getServerPort()
獲取服務器端口號

response對象:有用對客戶端的請求作出動態的響應,向客戶端發送數據。javax.servlet.http.HttpServletResponse的實例

1. getCharacterEncoding() 返回響應的字符編碼格式
2. getOutputStream()
返回響應的輸出流
3. getWriter()
返回可以向客戶端輸出字符的一個對象
4. setContentLength(int long)
設置響應頭的長度
5. setContentType(String type)
設置響應的mime類型
6. sendRedirect(String location)
重新定向客戶端的請求
7. flushBuffer()
強制把當前緩存區的數據發送到客戶端
8. addCookie(Cookie cookie)
在客戶端添加一個cookie

session對象:從一個客戶打開瀏覽器並連接到服務器開始,到用戶關閉瀏覽器離開這個服務器結束,javax.servlet.http.HttpSession的實例

1. getId() 獲取session的標識符
2. setAttribute(String key,Object obj)
將一個對象(obj)添加到session中,併爲它指定一個索引值
3. getAttribute(String key)
獲取session對象中含有指定關鍵字的對象
4. isNew()
判斷用戶是否參與了會話
5. invalidate()
使當前會話失效
6. removeAttribute(String name)
刪除一個指定session的值
7. getCreationTime()
獲取session對象創建的時間
4
) out對象:用來向客戶端輸出各種數據。

out對象是javax.servlet.jsp.jspWriter的實例
out
對象用於把結果輸出到網頁上

1. print()/println() 輸出各種類型的數據
2. clearBuffer()
清除緩衝區的數據,並將數據寫入客戶端
3. clear()
清除緩衝區的當前內容,但不將數據寫入客戶端
4. flush()
輸出緩衝區中的數據
5. newLine()
輸出一個換行符
6. close()
關閉輸出流

page對象:就是指當前jsp頁面本身,類似於java中的this
改jsp頁面被tomcat編譯後的servlet類


1 getClass() 獲取page對象的類
2
. hashCode() 獲取page對象的hash碼
3
. equals(Object obj) 判斷page對象是否與參數中的obj相等
4
. copy(Object obj) 把此page對象複製並指定的Object對象中
5
. clone() 克隆當前的page對象
6
. toString() 吧page對象轉換成String類型的對象

application對象:實習用戶間的數據共享,可以存放全局變量。
javax.servlet.jsp.PageContext
對象存儲本JSP頁面相關信息,如屬性、內建對象等。是javax.servlet.ServletContext的實例

1. setAttribute(String key, Object obj) 將對象obj添加到application對象中,併爲其指定索引
2. getAttribute(String name)
獲取指定的屬性
3. getAttributeName()
獲取一個包含所有可用屬性名的枚舉
4. removeAttribute(String name)
刪除一個指定的application對象
5. getContext(String uripath)
獲取指定WebApplication的application對象
6. getResource(String path)
獲取指定資源(文件及目錄)的URL路徑
7. getResourceAsStream(String path)
獲取指定資源的輸入流
8. getServlet(String name)
返回指定的Servlet
9. log(String msg)
把指定消息寫入Servlet的日誌文件

exception對象:用於處理jsp頁面中發生的錯誤和異常,可以幫助我們瞭解並處理頁面中的錯誤信息。
錯誤對象,只有在JSP頁面的page指令中指定isErrorPage="true"後,纔可以在本頁面使用exception對象。


1. getMessage()
獲取當前的錯誤信息
2. getLocalizedMessage()
獲取本地化語言的異常錯誤
3. printStackTrace()
輸出一個錯誤或錯誤的堆棧跟蹤
4. fillInStackTrace()
重寫異常的執行棧軌跡
5. toString()
關於異常錯誤的簡單信息描述

Config對象config對象是在一個Servlet初始化時,JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時所用

1.      ServletContext getServletContext() 返回含有服務器相關信息的ServletContext對象

2.      String getInitParameter(String name) 返回初始化參數的值

3.      Enumeration getInitParameterNames() 返回Servlet初始化所需所有參數的枚舉

 

PageContext對象:頁面上下文對象Jsp引入了一個名位PageContext的類,通過它可以訪問頁面的許多屬性。PageContext類擁有getRequestgetResponsegetOutgetSession等方法。pageContext變量存儲與當前頁面相關聯的PageContext對象的值。如果方法需要訪問多個與頁面相關的對象,傳遞pageContext要比傳遞requestresponseout等的獨立引用更容易。

 

1. JspWriter getOut() 返回當前客戶端響應被使用的JspWriter(out)

2. HttpSessiongetSession()  返回當前頁中的HttpSession對象(session)

3. Object getPage() 返回當前頁的Object對象(page)

4.ServletRequestgetRequest()  返回當前頁的ServletRequest對象(request)

5.ServletResponsegetResponse() 返回當前頁的ServletResponse對象(response)

6. ExceptiongetException()  返回當前頁的Exception對象(exception)

7. ServletConfiggetServletConfig() 返回當前頁的ServletConfig對象(config)

8. ServletContextgetServletContext() 返回當前頁的ServletContext對象(application)

9. void setAttribute(String name,Objectattribute)  設置屬性及屬性值

10. void setAttribute(Stringname,Object obj,int scope)  在指定範圍內設置屬性及屬性值

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章