1. 程式人生 > >Jsp的九大物件,七大動作,三大指令

Jsp的九大物件,七大動作,三大指令

jsp九大內建物件: 1>out 向客戶端輸出資料,位元組流.如out.print(" dgaweyr");   2>request 接收客戶端的http請求. String getParameter(String name):得到表單引數名name的值. String[] getParameterValues(String name):(得到String[]複選框時常用). setAttribute(String name,Object obj):設定屬性名為name,屬性值為obj. getAttribute(String name);得到屬性值.   3>response:封裝jsp產生的迴應,然後傳送到客戶端以響應客戶的請求.重定向跳轉任意介面.(伺服器跳轉) addCookie(Cookie cookie): sendRedirect("/wel.jsp"):跳轉到指定頁面   4>session:用於儲存使用者資訊,跟蹤使用者行為,當前開啟的瀏覽器內,多個頁面共享資料. session物件指的是客戶端與伺服器的一次會話,從客戶連到伺服器的一個WebApplication開始,直到客戶端與伺服器斷開連線為止.它是HttpSession類的例項. setAttribute(String name,Object obj):設定屬性名為name,屬性值為obj. getAttribute(String name):得到屬性值.   5>application物件:實現了使用者間資料的共享,可存放全域性變數.它開始於伺服器的啟動,直到伺服器的關閉,在此期間,此物件將一直存在;這樣在使用者的前後連線或不同使用者之間的連線中,可以對此物件的同一屬性進行操作;在任何地方對此物件屬性的操作,都將影響到其他使用者對此的訪問.伺服器的啟動和關閉決定了application物件的生命.它是ServletContext類的例項.   session,application,request的區別: 一個專案中session儘量少用幾個,因為過多的session會影響程式的執行效率.它主要用於儲存登入資訊(使用者資訊,許可權,資源)即頻繁使用的資訊. application: 用於多個瀏覽器之間共享資料,多個使用者共享該物件,可以做計數器.它的用法與session完全一樣. 資料範圍: application(伺服器關閉時失效)>session(瀏覽器關閉時失效)>request(只能用於兩個跳轉頁面之間)   6>page物件代表jsp這個實體本身,即當前頁面有效.相當於java中的this. 資料範圍:page<session<application   7>.exception:代表執行時的異常. 在會發生異常的頁面加入指令:<%@ page errorPage="處理錯誤的頁面.jsp"%> 在處理異常的頁面寫入:<%@ page isErrorPage="true"%>   8>.pageContext物件 pageContext物件提供了對JSP頁面內所有的物件及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當於頁面中所有功能的集大成者,它的本類名也叫pageContext.   9>.config jsp對應的servlet的配置,可以得到web.xml中的初使化引數.   jsp七大動作: 一:include 動態包含(分別編譯): 用jsp:include動作實現<jsp: include page="included.jsp" flush="true" /> 它總是會檢查所含檔案中的變化,適合用於包含動態頁面,並且可以帶引數。flush屬性: 用true ,表示頁面可重新整理。預設為false;   二:useBean動作(jsp頁面使用javaBean的第二種方式): <jsp:useBean id="物件名" class="包名.類名" scope="作用範圍(request/page/application/session)"/> 作用域預設為page(本頁面有效). 三:getProperty動作(name為useBean動作中的id). 從物件中取出屬性值:<jsp:getProperty name="javaBean物件" property="javaBean物件屬性名" /> 四:setProperty動作(name為useBean動作中的id): 為物件設定屬性值:<jsp:setProperty name="javaBean物件" property="javaBean物件屬性名" value=http://www.hake.cc/kf/201109/"值"/> 為物件設定屬性值:<jsp:setProperty property="javaBean物件屬性名" name="javaBean物件" param="username"/> (param="username" 相當於 value=http://www.hake.cc/kf/201109/<%=request.getParameter("username")%>)   五:param動作(傳遞引數)): 到達跳轉頁面可以通過 request.getParameter(“引數名”)方式取出引數值 <jsp:include page="轉向頁面的url" >            <jsp:param   name="引數名1" value=http://www.hake.cc/kf/201109/"引數值1">

<jsp:param   name="引數名2" value=http://www.hake.cc/kf/201109/"引數值2">            ...........  </jsp:include> 或: <jsp:forward page="轉向頁面的url" >            <jsp:param   name="引數名1" value=http://www.hake.cc/kf/201109/"引數值1">            <jsp:param   name="引數名2" value=http://www.hake.cc/kf/201109/"引數值2">            ........... </jsp:forward>   六:forward動作: 跳轉頁面:<jsp:forward page="login.jsp" />   七:plugin動作:<jsp:plugin>:用於指定在客戶端執行的外掛   JSP三大指令之: 一:page指令: 1.指定頁面編碼.例: <%@ page language="java" contentType="text/html;charset=gbk" pageEncoding="gbk" %> 2.匯入包,例: <%@ page import="java.util.*,java.text.*" %>. 二:include 指令 靜態包含(統一編譯):<%@ include file="included.jsp"%>   三:taglib   三.Jsp中的靜態包含與動態包含 動態include(<jsp: include page="included.jsp"/>) 靜態include(<%@ include file="included.jsp"%>) 1. 靜態include的結果是把其他jsp引入當前jsp,兩者合為一體,可以達到資料的共享即可以說是統一編譯的,而 動態include的結構是兩者獨立的,直到輸出時才合併即為分別編譯的. 2.動態include的jsp檔案獨立性很強,是一個單獨的jsp檔案,需要使用的物件,頁面設定,都由自己建立,而靜態include純粹是把程式碼寫在外面的一種共享方法,所有的變數都是可以和include它的主檔案共享,兩者高度緊密結合,不能 有變數同名的衝突.而頁面設定也可以借用主檔案的. 3.動態包含總是檢查被包含頁面的變化,靜態包含不一定檢查被包含頁面的變化. 4.動態包含可帶引數,靜態包含不能帶引數.如(<jsp: include page="included.jsp">放入引數</jsp:include>);