java之jsp(java servlet pages)

jsp(實際是Servlet)

JSP全名爲Java Server Pages,中文名叫java服務器頁面,其根本是一個簡化的Servlet設計,它是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件,後綴名爲(*.jsp)。 用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統上運行。

它實現了Html語法中的java擴張(以 <%, %>形式)。JSP與Servlet一樣,是在服務器端執行的。通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽

1.include標籤(靜態導入(<%@ include%>))、動態導入<jsp:include>

2.註釋

<!--123-->:能在源碼看見 不能註釋java代碼

<%--456--> 不能在源碼看見 能註釋java代碼

3.jsp的九個內置對象

1.request:請求對象(作用域)

2.response:響應對象

3.pageContext:頁面上下文對象(作用域)

4.session:會話對象(作用域)

5.application:應用程序對象(作用域)

6.out:輸出對象

7.config:配置對象

8.page:頁面對象

9.edxception:例外對象



摺疊request對象

該對象封裝了用戶提交的信息,通過調用該對象相應的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交信息。它是HttpServletRequest的實例。下面介紹request的常用方法:1,getParameter();使用如下 String str=request.getParameter();2,setAttribute();和getAttribute();removeAttribute();getMethod();getProtocol();getReqeustURI();getRemoteAddr();getServerPort();和 getServerName();

摺疊response對象

對客戶的請求做出動態的響應,向客戶端發送數據。

摺疊session對象

1.什麼是session:session對象是一個JSP內置對象,它在第一個JSP頁面被裝載時自動創建,完成會話期管理。

從一個客戶打開瀏覽器並連接到服務器開始,到客戶關閉瀏覽器離開這個服務器結束,被稱爲一個會話。當一個客戶訪問一個服務器時,可能會在這個服務器的幾個頁面之間反覆連接,反覆刷新一個頁面,服務器應當通過某種辦法知道這是同一個客戶,這就需要session對象。

2.session對象的ID:當一個客戶首次訪問服務器上的一個JSP頁面時,JSP引擎產生一個session對象,同時分配一個String類型的ID號,JSP引擎同時將這個ID號發送到客戶端,存放在Cookie中,這樣session對象和客戶之間就建立了一一對應的關係。當客戶再訪問連接該服務器的其他頁面時,不再分配給客戶新的session對象,直到客戶關閉瀏覽器後,服務器端該客戶的session對象才取消,並且和客戶的會話對應關係消失。當客戶重新打開瀏覽器再連接到該服務器時,服務器爲該客戶再創建一個新的session對象。

3.session對象存在一定時間過期問題,所以存在session中的名值對會在一定時間後失去,可以通過更改session有效時間來避免這種情況。同時編程時儘量避免將大量有效信息存儲在session中,request是一個不錯的替代對象。

摺疊application對象

1.什麼是application:

服務器啓動後就產生了這個application對象,當客戶在所訪問的網站的各個頁面之間瀏覽時,這個application對象都是同一個,直到服務器關閉。但是與session不同的是,所有客戶的application對象都是同一個,即所有客戶共享這個內置的application對象。

2.application對象常用方法:

(1)public void setAttribute(String key,Object obj): 將參數Object指定的對象obj添加到application對象中,併爲添加的對象指定一個索引關鍵字。

(2)public Object getAttribute(String key): 獲取application對象中含有關鍵字的對象。

摺疊out對象

out對象是一個輸出流,用來向客戶端輸出數據。out對象用於各種數據的輸出。

摺疊Page

age對象就是指向當前JSP頁面本身,有點象類中的this指針,它是java.lang.Object類的實例 

JSP網頁本身,page對象是當前頁面轉換後的Servlet類的實例。從轉換後的Servlet類的代碼中,可以看到這種關係:Object page = this;在JSP頁面中,很少使用page對象。

摺疊config

javax.servlet. ServletConfig 的實例,該實例代表該JSP 的配置信息。常用的方法有getInitParameter(String paramNarne) 及getInitParameternarnes() 等方法。事實上, JSP 頁面通常無須配置,也就不存在配置信息。因此,該對象更多地在Servlet 中有效。

摺疊exception

java.lang.Throwable 的實例,該實例代表其他頁面中的異常和錯誤。只有當頁面是錯誤處理頁面,即編譯指令page 的isErrorPage 屬性爲true 時,該對象纔可以使用。常用的方法有getMessage()和printStackTrace()等。

摺疊pageContext

javax.servlet.jsp.PageContext 的實例,該對象代表該JSP 頁面上下文,使用該對象可以訪問頁面中的共享數據。常用的方法有getServletContext()和getServletConfig()等。

//使用pageContext 設置屬性,該屬性默認在page 範圍內

ageContext. setAttribute("page" , "hello") ;

//使用request 設置屬性,該屬性默認在request 範圍內

request. setAttribute ("request" , "hello");

//使用pageContext將屬性設置在request 範圍中

ageContext.setAttribute("request2" , "hello" , pageContext.REQUEST_SCOPE);

// 使用session將屬性設置在session 範圍中

ession.setAttribute("session" , "hello");

//使用pageContext將屬性設置在session範圍中

ageContext.setAttribute("session2" , "hello" , pageContext.SESSION_SCOPE);

//使用application將屬性設置在application範圍中

application. setAttribute ("app" , "hello") ;

//使用pageContext 將屬性設置在application 範圍中

ageContext.setAttribute("app2" , "hello" , pageContext.APPLICATION_SCOPE) ;


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