<pre name="code" class="html"><%@page import="com.haitaiinc.dto.SysOper"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@page import="com.haitaiinc.sys.functree.TabDesc;"%><jsp:useBean id="drug" class="com.haitaiinc.htdb.drug.dto.DrugClass" scope="request"></jsp:useBean><jsp:scriptlet> //java scriptlet 代碼 System.out.println("這裡是jsp scriptlet標籤");</jsp:scriptlet><!-- 知識點總結 --><!-- --------------------------------------------------1------------------------------------------------------在JSP中,最重要的部分就是Scriptlet(指令碼小程式),所有嵌入在HTML代碼中的Java程式都必須使用Scriptlet標記出來。在JSP中一共有3種Scriptlet代碼。1、<%%> 在其中可以定義局部變數、編寫語句等2、<%! %> 在其中可以定義全域變數、方法、類3、<%= %> 主要功能是輸出一個變數或一個具體內容,使用<%= %>的形式來完成,有時也將其稱為運算式輸出。在程式中如果過多地出現<%%>會導致代碼混亂,所以在新版本的JSP中提供了一種scriptlet標籤,使用此標籤可以完成與<%%>同樣的功能。此標籤的文法如下:--------------------------------------------------1---------------------------------------------------------------------------------------------------------2-------------------------------------------------------page指令在JSP開發中較為重要,使用此屬性,可以定義一個JSP頁面的相關屬性。包括定義MIME類型、定義需要匯入的包、錯誤頁的指定等。 1、《@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"》 指定了要使用的開發語言是Java,然後通過contentType進行設定,本頁面是按照HTML文字檔(text/html)進行顯示,頁面的編碼 (charset)是UTF-8。 2、《@page errorPage="error.jsp"》 ----本頁面一旦出現錯誤,之後就跳轉到error.jsp中 3、《@page import="com.haitaiinc.sys.functree.TabDesc;"》--------------------------------------------------2-----------------------------------------------------------------------------------------------------------------------------------3---------------------------------------------------------------------------------@include指令靜態包含 靜態包含指令是在JSP編譯時間插入一個包含文本或代碼的檔案,這個包含的過程是靜態,而包含的檔案可以是JSP檔案、HTML 檔案、文字檔,或是一段Java程式。 靜態包含文法是 《%@ include file="要包含的檔案路徑"%》 使用《jsp:include》指令可以完成動態包含的操作,與之前的靜態包含不同,動態包含語句可以自動區分被包含的頁面是靜態還是動態。 如果是靜態頁面,則與靜態包含一樣,將內容包含進來處理;而如果被包含的頁面是動態網頁面,則可以先進行動態處理,然後再將處理後 的結果包含進來。 動態包含的文法是《jsp:include page="{要包含的檔案路徑|《%=運算式%》}" flush="true|false"》 說明:當flush設定成false表示這個網頁完全被進來以後才輸出。在每一個JSP的內部都會有一個buffer,所以如果是true,當buffer滿了就輸出,一般此屬性設定為true --------------------------------------------------3--------------------------------------------------------------------------------- --------------------------------------------------4--------------------------------------------------------------------------------- JSP 9個內建對象 為了簡化開發,提供了9個內建對象,這些內建對象將由容器為使用者進行執行個體化,直接使用,不用像在Java中那樣,必須通過關鍵字new進行執行個體化對象後 才可以使用。常用:request、response、session、application、pageContent 1-request對象=====實現=====>HttpServletRequest(介面)=====繼承=====>ServletRequest(介面) 在Web開發中,使用request接收請求參數是最常見的操作:(接收表單提交的參數)String content = request.getParameter("info") 單一的參數都可以使用getParameter()接收,而一組參數要用getParameterValues()。 在HTML的<from>標籤中有get和post兩種表單提交方式,這兩有一個明顯的區別是:使用get提交時,提交的內容會顯示在地址欄之後;而使用 post提交,提交的內容是不會顯示在地址欄上的。 2-response對象 3-session 4-application 5-pageContent --------------------------------------------------4--------------------------------------------------------------------------------- --------------------------------------------------5--------------------------------------------------------------------------------- JSP 4種屬性範圍 在JSP中提供了4種屬性的儲存範圍。所謂的屬性儲存範圍,指的就是一個內建的對象,可以子啊多少個頁面中儲存並繼續使用。分別介紹如下: page:只在一個頁面中儲存屬性,跳轉之後無效 《% //設定page屬性範圍,此屬性只在當前的JSP頁面中起作用 pageContext.setAttribute("syhua",芍藥花); %》 request:只在一次請求中儲存,伺服器跳轉後依然有效 《% //設定request屬性範圍,此屬性只在伺服器跳轉中起作用 request.setAttribute("syhua",芍藥花); //從request屬性範圍中取出屬性 String username = request.getAttribute("syhua"); %》 session:在一次會話範圍中,無論何種跳轉都可以使用,但是新開瀏覽器無法使用。 《% //設定session屬性範圍,此屬性在一個瀏覽器中始終有效 session.setAttribute("syhua",芍藥花); %》 application:在整個伺服器上儲存,所有使用者都可以使用。 如果希望設定一個屬性,可以讓所有使用者(每一個session)看得見,則可以將屬性範圍設定成application,這樣屬性即可儲存在伺服器上。 --------------------------------------------------5--------------------------------------------------------------------------------- --------------------------------------------------6--------------------------------------------------------------------------------- Cookie: Cookie是瀏覽器所提供的一種技術,這種技術讓伺服器端的程式能將一些只需要儲存在用戶端,或者在用戶端進行處理的資料,放在本身 使用的電腦中,無須通過網路的傳輸。因而提高了網頁處理的效率,而且也能夠減少伺服器端的負載。但是由於Cookie是伺服器端儲存在 用戶端的資訊,所以其安全性也是很差的。 --------------------------------------------------6--------------------------------------------------------------------------------- --><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body></body></html>