JSP學習-page指令

JSP是Java Server Page的縮寫,它是Servlet的擴展,它的作用是簡化網站的創建和維護。

JSP是HTML代碼與Java代碼的混合體。
JSP文件通常以JSP或JSPX的擴展名。
JSP擁有自己的語法。
JSP形式上像HTML,但本質上是Servlet。
JSP的出現,使得將Web開發中的HTML與業務邏輯代碼有效分離成爲可能。通常JSP只負責生成動態的HTML文檔,而業務邏輯由其他Java組件如JavaBean來實現。JSP可以通過Scriptlet來訪問這些組件。

一個簡單的jsp實例:

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<html>
  <body>
    <%
    	out.print("當前時間是:"+(new java.util.Date()));
    %>
  </body>
</html>
在 JSP 中,主要有3種類型的指令:page,include 和 taglib。

例如:

<%@ page language="java"   import="java.util.*" pageEncoding="utf-8"%>
<%@ include file="foot.jsp"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
page 指令

可以定義下面這些大小寫敏感的屬性(大致按照使用的頻率列出):import、contentType、pageEncoding、session、buffer、autoFlush、info、errorPage、isErrorPage、isThreadSafe、language 和 extends。

 page 指令可以出現在文檔中的任何地方.

下面是page中一些常用的屬性說明:

1.import屬性

使用 page 指令的 import 屬性指定 JSP 頁面轉換成的 servlet 應該輸入的包。

默認情況下,servlet 導入 java.util.*、javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*

使用 import 屬性時,可以採用下面兩種形式:

<%@ page import="java.text.*" %>
<%@ page import="java.util.*,java.text.*" %>

2 contentType 和 pageEncoding 屬性

使用 contentType 屬性時,可以採用下面兩種形式:

不僅可以設置charset,還可以設置MIME屬性:

<%@ page contentType="text/html; charset=utf-8"%>
<%@ page contentType="charset=utf-8"%>
使用pageEncoding屬性:
<%@ page pageEncoding="utf-8"%>
不同點:

pageEncoding是jsp文件本身的編碼 ,把jsp文件編譯成java的時候給編譯器用的 。
contentType的charset是指服務器發送給客戶端時的內容編碼 ,是瀏覽器解析網頁的時候用的 
如果兩個任意設置了其中一個,另一個即會與此保持一致。

3 session 屬性

<%@ page session="true" %> <%--默認--%>
<%@ page session="false" %>
true 值(默認)表示,如果存在已有會話,則預定義變量 session 應該綁定到現有的會話;否則,創建新的會話並將其綁定到 session。false 值表示不自動創建會話,在 JSP 頁面轉換成 servlet 時,對變量 session 的訪問會導致錯誤。

4 errorPage 和 isErrorPage 屬性
errorPage 屬性用來指定一個 JSP 頁面,由該頁面來處理當前頁面中拋出但未被捕獲的任何異常(即類型爲 Throwable 的對象)。它的應用方式如下:

<%@ page errorPage="error.jsp"%>
isErrorPage 屬性表示當前頁是否可以作爲其他 JSP 頁面的錯誤頁面。使用 isErrorPage 屬性時,可以採用下面形式:
<%@ page isErrorPage="true"%>

5.info屬性

info 屬性定義一個可以在 servlet 中通過 getServletInfo 方法獲取的字符串,使用 info 屬性時,採用下面的形式

<%@ page info="Some Message" %>
<%
String info=getServletInfo();
%>

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