JSP
- 介紹:JSP全稱Java Server Pages,是一種動態網頁開發技術。它使用JSP標籤在HTML網頁中插入Java代碼。標籤通常以<%開頭以%>結束。JSP是一種Java servlet,主要用於實現Java web應用程序的用戶界面部分。
- JSP生命週期中所走過的幾個階段:
編譯階段:
Servelet容器編譯Servelet源文件,生成servelet類
初始化階段:
加載與JSP對應的Servelet類,創建其實例,並調用它的初始化方法
執行階段:
調用與JSP對應的Servelet實例的服務方法
銷燬階段:
調用與JSP對應的Servelet實例的銷燬方法,然後銷燬Servelet實例 - 指令:
指令 | 描述 |
---|---|
<%@ page … %> | 定義頁面的依賴屬性,比如腳本語言、error頁面、緩存需求等等 |
<%@ include … %> | 包含其他文件 |
<%@ taglib … %> | 引入標籤庫的定義,可以是自定義標籤 |
-
標籤:<% %>
-
註釋:
<%-- 註釋 --%> :JSP註釋,註釋內容不會被髮送至瀏覽器甚至不會被編譯 -
輸出:<%=內容%>
-
作用域:
pageContext(頁面域):pageContext有效範圍僅限於當前頁面 , 可以近似理解爲this對象 , 在離開當前頁面後 , 無論是request或redirect等方式離開的 , 當前頁面的相關屬性值都會丟失。
request(請求域):request表示一次請求 , 它的有效範圍是當前請求週期 . 所謂請求週期 , 就是從http發送請求 , 到服務器接收並處理請 , 將結果返回到客戶端響應 . 在這一過程中 , 可能使用forward跳轉了多個jsp頁面 , 而在這多個jsp頁面中屬性值都有效. 但如果是通過redirect方式進行跳轉 , 則重新發送請求 , 這樣屬性值就會丟失。
session(會話域):session有效範圍是當前會話。當前會話表示瀏覽器打開到瀏覽器關閉這一過程。但這會出現這種情況,如果瀏覽器一直處於打開狀態,這樣session永遠不會銷燬,而且在瀏覽器關閉時並不會通知服務器,另外session是存放在服務器的內存上,這樣對服務器是一種負擔,所以通過這種方法來判斷:如果一段時間內客戶端沒有響應,則認爲會話結束。
application(應用域):application有效範圍爲整個應用,從應用開啓到應用結束。在服務器停止之前,應用沒有結束,application對象都有效,可以被所有會話共享。 -
內置對象
對象 | 描述 |
---|---|
request | HttpServletRequest類的實例 |
response | HttpServletResponse類的實例 |
out | PrintWriter類的實例,用於把結果輸出至網頁上 |
session | HttpSession類的實例 |
application | ServletContext類的實例,與應用上下文有關 |
config | ServletConfig類的實例 |
pageContext | PageContext類的實例,提供對JSP頁面所有對象以及命名空間的訪問 |
page | 類似於Java類中的this關鍵字 |
Exception | Exception類的對象,代表發生錯誤的JSP頁面中對應的異常對象 |
9.代碼格式:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>first jsp</title>
</head>
<body>
你好
</body>
</html>