Web開發之JSP篇——JSP指令

         由於學習android開發,必然要去學習關於Web開發的東西,首先來接觸一下JSP。關於JSP的出現背景、工做原理等東西就暫時不寫了。直接切入正題,怎麼使用JSP。今天先來學習最基礎的JSP指令。html

     JSP指令是幹什麼的呢?咱們都知道JSP其實就是簡化的Servlet,JSP指令就是來設置JSP頁面的屬性,告訴編譯器如何生成Servlet,如何處理頁面,如編碼方式等。JSP指令的格式爲:「<%@ JSP指令 %>」。(注:JSP不區分大小寫
java

     JSP的指令標籤主要就是如下三個:android

  • pageweb

  • include編程

  • taglib緩存

1. page指令安全

         page從字面理解就是「頁面」,因此page的做用就是聲明整個JSP頁面的相關屬性。其格式以下:session

<%@ page  屬性1="屬性1的值1"[,"屬性1的值2"…]
                  屬性2="屬性2的值1"[,"屬性2的值2"…]
                   …
%>
多線程

page的主要屬性:app

  • language屬性

        定義了JSP腳本所使用的編程語言,或許這個是用來擴展的,但目前只支持Java,所以只能這樣來寫:

<%@ page language="java" %>

  • import屬性

        爲當前JSP頁面引入要使用的Java包和類,而且import屬性是page指令中惟一能夠屢次使用聲明的屬性,若是引入多個包或類,能夠用「,」分開。如:

<%@ page import="java.lang.*","java.io.*" %>

  • contentType屬性

        定義了JSP頁面響應的MIME類型和字符編碼,根據該屬性判斷文檔的類型。如:

<%@page contentType="text/html;charset=GB2312"%>

        contentType默認值默認值是"text/html;charset=ISO-8859-1" 。

        經常使用文檔類型有:

    1. HTML:text/html

    2. 純文本:text/plain

    3. JPG圖像:image/jpeg

    4. GIF圖像:image/gif

    5. WORD文檔:application/msword

  • session屬性

        用來設置是否須要使用內置的session對象,默認值爲「true」。

  • autoFlush屬性

        當緩衝區滿時,是否自動刷新,默認值爲「true」。

  • buffer屬性

        指定緩存的大小,值爲none或多少kb,在autoFlush爲true的狀況下有效,如:

<%@ page buffer="16kb" %>

  • isThreadSafe屬性

        設置當前JSP頁面是否線程安全,就是是否容許多線程訪問,默認值爲true。

  • info屬性

        描述JSP頁面的信息,爲任意字符串,可使用servlet類的getServletInfo()方法來得到該值。

  • errorPage屬性

       設置一個錯誤處理頁面,當JSP頁面出現異常或錯誤時,會跳轉到該屬性指定的錯誤頁面,其值爲指定的某個JSP頁面的相對路徑。

  • isErrorPage屬性

      設置該JSP頁面是否爲錯誤處理頁面,默認值爲false。

     固然,page指令還有幾個其餘不經常使用或已經取消的屬性,就是由於基本不會涉及,瞭解不瞭解都無所謂了。

2. include指令

        include指令應該是最簡單的了,就是指定當前JSP頁面包含一個其餘的文件,從而和當前文件組成一個總體的文件。該指令能夠屢次使用。全部包含的文件的源碼至關於添加到當前JSP文件中,編譯成一個class文件,是包含編譯的關係,屬於靜態包含文件(後面會有一個動做指令與其類似,但原理不一樣)。其格式以下:

<%@ include file="包含文件的相對路徑" %>

3. taglib指令

        taglib指令用來指定當前JSP頁面內使用的JSP標籤庫,標籤的功能很強大,也很高效,也是JSP最經常使用的功能,但目前我也不瞭解到底怎樣,日子很長,慢慢學。taglib指令有兩個屬性,分別指定類庫地址uri和前綴prefix。如:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
相關文章
相關標籤/搜索