程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> JSP,jsp教程

JSP,jsp教程

編輯:JAVA綜合教程

JSP,jsp教程


JSP

一、jsp是什麼

      JSP全稱Java Server Pages,是一種動態網頁開發技術。它使用JSP標簽在HTML網頁中插入Java代碼。標簽通常以<%開頭以%>結束。

  JSP是一種Java servlet,主要用於實現Java web應用程序的用戶界面部分。網頁開發者們通過結合HTML代碼、XHTML代碼、XML元素以及嵌入JSP操作和命令來編寫JSP。 二、jsp的運行原理:

  每個JSP 頁面在第一次被訪問時, JSP 引擎將它翻譯成一個 Servlet 源程序, 接著再把這個 Servlet 源程序編譯成 Servlet 的 class 類文件. 然後再由WEB容器(Servlet引擎)像調用普通Servlet程序一樣的方式來裝載和解釋執行這個由JSP頁面翻譯成的Servlet程序。

三、jsp的隱含變量  

  沒有聲明就可以使用的對象. JSP頁面一共有 9 個隱含對象.   使用 <% %> 編寫的代碼在此位置. 可以用到 request, response, pageContext, session   application, config, out, page 這 8 個隱含對象. (實際上還可以使用一個叫 exception 的隱含對象)

①. request: HttpServletRequest 的一個對象. *

②. response: HttpServletResponse 的一個對象(在 JSP 頁面中幾乎不會調用 response 的任何方法.)

③. pageContext: 頁面的上下文, 是 PageContext 的一個對象. 可以從該對象中獲取到其他 8 個隱含對象. 也可以從中獲取到當前 頁面的其他信息. (學習自定義標簽時使用它) ④. session: 代表浏覽器和服務器的一次會話, 是 HttpSession 的一個對象.

⑤. application: 代表當前 WEB 應用. 是 ServletContext 對象. *

⑥. config: 當前 JSP 對應的 Servlet 的 ServletConfig 對象(幾乎不使用). 若需要訪問當前 JSP 配置的初始化參數,

⑦. out: JspWriter 對象. 調用 out.println() 可以直接把字符串打印到浏覽器上.

⑧. page: 指向當前 JSP 對應的 Servlet 對象的引用, 但為 Object 類型, 只能調用 Object 類的方法(幾乎不使用)

⑨. exception: 在聲明了 page 指令的 isErrorPage="true" 時, 才可以使用.

四、jsp指令  

  JSP指令(directive)是為JSP引擎而設計的,  它們並不直接產生任何可見輸出, 而只是告訴引擎如何處理JSP頁面中的其余部分。  

  在目前的JSP 2.0中,定義了page、include 和 taglib這三種指令     page指令用於定義JSP頁面的各種屬性, 無論page指令出現在JSP頁面中的什麼地方,  它作用的都是整個JSP頁面, 為了保持程序的可讀性和遵循良好的編程習慣, page指令最好是放在整個JSP頁面的起始位置。

 ①. import 屬性: 指定當前 JSP 頁面對應的 Servlet 需要導入的類.    <%@page import="java.lang.*"%>

 ②. session 屬性: 取值為 true 或 false, 指定當前頁面的 session 隱藏變量是否可用, 也可以說訪問當前頁面時是否一定要生成  HttpSession對象. 服務器創建session是很耗資源的,所以在合適的地方不生成session也是一種優化。  <%@ page session="false" %>  

③. errorPage 和 isErrorPage:  

> errorPage 指定若當前頁面出現錯誤的實際響應頁面時什麼.

其中 / 表示的是當前 WEB 應用的根目錄.  <%@ page errorPage="/error.jsp" %>  

> 在響應 error.jsp 時, JSP 引擎使用的請求轉發的方式.

 > isErrorPage 指定當前頁面是否為錯誤處理頁面, 可以說明當前頁面是否可以使用 exception 隱藏變量. 需要注意的是: 若指定  isErrorPage="true", 並使用 exception 的方法了, 一般不建議能夠直接訪問該頁面.    > 如何使客戶不能直接訪問某一個頁面呢 ? 對於 Tomcat 服務器而言, WEB-INF 下的文件是不能通過在浏覽器中直接輸入地址的方式  來訪問的. 但通過請求的轉發是可以的!

 > 還可以在 web.xml 文件中配置錯誤頁面:

<error-page>
   <!-- 指定出錯的代碼: 404 沒有指定的資源, 500 內部錯誤. -->
    <error-code>404</error-code>
    <!-- 指定響應頁面的位置 -->
    <location>/WEB-INF/error.jsp</location>
</error-page>

<error-page>
<!-- 指定異常的類型 -->
    <exception-type>java.lang.ArithmeticException</exception-type>
    <location>/WEB-INF/error.jsp</location>
</error-page>

 

 ④. contentType: 指定當前 JSP 頁面的響應類型. 實際調用的是 response.setContentType("text/html; charset=UTF-8");  通常情況下, 對於 JSP 頁面而言其取值均為 text/html; charset=UTF-8. charset 指定返回的頁面的字符編碼是什麼. 通常取值為 UTF-8  <%@ page contentType="application/vnd.ms-excel" %>  當前頁面的數據生成excel  

⑤. pageEncoding: 指定當前 JSP 頁面的字符編碼. 通常情況下該值和 contentType 中的 charset 一致.  

⑥. isELIgnored: 指定當前 JSP 頁面是否可以使用 EL 表達式. 通常取值為 false.

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved