標籤:操作 適合 values send 地方 重新整理 許可權 char int
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>);
Jsp的九大對象,七大動作,三大指令