1. 程式人生 > 實用技巧 >java web的基礎知識:jsp相關知識

java web的基礎知識:jsp相關知識

一.概述

1.1 jsp

JSP頁面由HTML和嵌入其中的Java程式碼構成的。當客戶端通過頁面發

送請求時,伺服器端就會對頁面中嵌入的Java程式碼進行編譯處理,然後生成HTML頁面重新返回給客戶端進行顯示。

可以把執行JSP頁面的執行分成兩個階段,一個是轉譯階段,一個是請求階段

轉譯階段:JSP頁面轉換成Servlet類。

請求階段:Servlet類執行,將響應結果傳送至客戶端。

1.2jsp的宣告語句

JSP宣告語句以<%!開始,以%>結束,其語法格式為:<%! 宣告語句 %>使用宣告語句宣告的變數為全域性變數,也就是說,當有多個使用者在執行此JSP頁面時,將共享該變數。

JSP表示式以<%=開始,以%>結束,其語法格式為:<%= Java程式碼 %>。JSP表示式中的程式碼會首先執行,然後轉換成字串並顯示到網頁上。

JSP註釋使用<%- -作為開始,以--%>作為結束,中間包含的程式碼即為註釋部分。

1.3jsp的指令

<%@ page contentType="text/html;charset=ISO-8859-1"%>:contentType屬性用來指定該JSP檔案的MIME格式,以及網頁編碼格式。

<%@ page pageEncoding=” ISO-8859-1”%>:pageEncoding屬性用來指定網頁的編碼格式。

include指令用於在JSP檔案中插入一個包含文字或程式碼的檔案,在轉換成Servlet時將指定的檔案和當前的檔案進行合併。

<jsp:include flush="true" page="hello.jsp"></jsp:include>

—熟練使用<jsp:include>動作元素來包含檔案。

—熟練使用<jsp:forward>動作元素來實現頁面跳轉。

—熟練使用<jsp:param>動作元素來傳遞引數。

—瞭解使用<jsp: plugin >動作元素來執行Applet。

taglib指令用來宣告此JSP檔案使用了自定義標籤。

<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>

1.4jsp的9大內建物件

1.page範圍,就是指設定的屬性只在當前頁面有效。通過使用pageContext的setAttribute()方法來設定屬性,並通過pageContext的getAttribute()方法來取得屬性

2.request範圍

所謂request範圍,就是指屬性在一次請求範圍內有效。如果跳轉是指客戶端跳轉,頁面從一個頁面跳轉到另一個頁面,那麼該屬性就失效了。比如客戶單擊超連結跳轉到其他頁面,或者通過瀏覽器位址列瀏覽其他網頁。如果使用伺服器端跳轉<jsp:forward>,則該屬性仍然有效。通過使用request的setAttribute()方法來設定屬性,並通過request的getAttribute()方法來取得屬性。

3.response物件用來給客戶端傳送輸出資訊。

4.out物件用來向網頁輸出資訊。

5.session物件用來表示使用者的會話狀況,一般用於儲存使用者的各種資訊,直到生命週期超時或者被認為釋放掉為止。

6.application物件用來取得和設定Servlet的相關資訊。application物件的生命週期是從伺服器啟動產生直到伺服器關閉為止,在此期間所有的使用者會共享這一個Application物件。該物件只可以由伺服器來建立和清除,而使用者不可以對其進行建立和清除操作。

7.pageContext 物件的作用是取得任何範圍的引數,通過它可以獲取 JSP頁面的out、request、reponse、session、application 等物件。

8.config 物件是javax.servlet.ServletConfig類的例項物件。主要作用是取得伺服器的配置資訊。

9.exception 物件的作用是顯示異常資訊,只有在包含 isERRORPage=”true” 的頁面中才可以被使用,在一般的JSP頁面中使用該物件將無法編譯JSP檔案。

1.5客戶端跳轉和服務端跳轉

在Servlet中實現頁面的跳轉有兩種方式:請求轉發和重定向

1.5.1 請求轉發

1.由伺服器端進行的頁面跳轉,叫請求轉發

轉發的特點:位址列不發生變化,顯示的是上一個頁面的地址

請求次數:只有1次請求

根目錄:http://localhost:8080/專案地址/,包含了專案的訪問地址,請求域中資料不會丟失

使用的方法:request.getRequestDispatcher("/地址").forward(request, response);

1.5.2重定向

由瀏覽器端進行的頁面跳轉:稱之為重定向

重定向的特點

位址列:顯示新的地址

請求次數:2次

根目錄:http://localhost:8080/ 沒有專案的名字

請求域中的資料會丟失,因為是2次請求