jsp九大內(nèi)置對象:1>out 向客戶端輸出數(shù)據(jù),字節(jié)流.如out.PRint(" dgaweyr"); 2>request 接收客戶端的http請求.String getParameter(String name):得到表單參數(shù)名name的值.String[] getParameterValues(String name):(得到String[]復(fù)選框時常用).setAttribute(String name,Object obj):設(shè)置屬性名為name,屬性值為obj.getAttribute(String name);得到屬性值. 3>response:封裝jsp產(chǎn)生的回應(yīng),然后發(fā)送到客戶端以響應(yīng)客戶的請求.重定向跳轉(zhuǎn)任意界面.(服務(wù)器跳轉(zhuǎn))addCookie(Cookie cookie):sendRedirect("/wel.jsp"):跳轉(zhuǎn)到指定頁面 4>session:用于保存用戶信息,跟蹤用戶行為,當(dāng)前打開的瀏覽器內(nèi),多個頁面共享數(shù)據(jù). session對象指的是客戶端與服務(wù)器的一次會話,從客戶連到服務(wù)器的一個Webapplication開始,直到客戶端與服務(wù)器斷開連接為止.它是HttpSession類的實(shí)例.setAttribute(String name,Object obj):設(shè)置屬性名為name,屬性值為obj.getAttribute(String name):得到屬性值. 5>application對象:實(shí)現(xiàn)了用戶間數(shù)據(jù)的共享,可存放全局變量.它開始于服務(wù)器的啟動,直到服務(wù)器的關(guān)閉,在此期間,此對象將一直存在;這樣在用戶的前后連接或不同用戶之間的連接中,可以對此對象的同一屬性進(jìn)行操作;在任何地方對此對象屬性的操作,都將影響到其他用戶對此的訪問.服務(wù)器的啟動和關(guān)閉決定了application對象的生命.它是ServletContext類的實(shí)例. session,application,request的區(qū)別:一個項(xiàng)目中session盡量少用幾個,因?yàn)檫^多的session會影響程序的執(zhí)行效率.它主要用于保存登錄信息(用戶信息,權(quán)限,資源)即頻繁使用的信息.application: 用于多個瀏覽器之間共享數(shù)據(jù),多個用戶共享該對象,可以做計數(shù)器.它的用法與session完全一樣.數(shù)據(jù)范圍:application(服務(wù)器關(guān)閉時失效)>session(瀏覽器關(guān)閉時失效)>request(只能用于兩個跳轉(zhuǎn)頁面之間) 6>page對象代表jsp這個實(shí)體本身,即當(dāng)前頁面有效.相當(dāng)于java中的this.數(shù)據(jù)范圍:page<session<application 7>.exception:代表運(yùn)行時的異常.在會發(fā)生異常的頁面加入指令:<%@ page errorPage="處理錯誤的頁面.jsp"%>在處理異常的頁面寫入:<%@ page isErrorPage="true"%> 8>.pageContext對象 pageContext對象提供了對JSP頁面內(nèi)所有的對象及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當(dāng)于頁面中所有功能的集大成者,它的本類名也叫pageContext. 9>.config jsp對應(yīng)的servlet的配置,可以得到web.xml中的初使化參數(shù). jsp七大動作:一:include 動態(tài)包含(分別編譯):用jsp:include動作實(shí)現(xiàn)<jsp: include page="included.jsp" flush="true" />它總是會檢查所含文件中的變化,適合用于包含動態(tài)頁面,并且可以帶參數(shù)。flush屬性: 用true ,表示頁面可刷新。默認(rèn)為false; 二:useBean動作(jsp頁面使用javaBean的第二種方式):<jsp:useBean id="對象名" class="包名.類名" scope="作用范圍(request/page/application/session)"/>作用域默認(rèn)為page(本頁面有效).三:getProperty動作(name為useBean動作中的id).從對象中取出屬性值:<jsp:getProperty name="javaBean對象" property="javaBean對象屬性名" />四:setProperty動作(name為useBean動作中的id):為對象設(shè)置屬性值:<jsp:setProperty name="javaBean對象" property="javaBean對象屬性名" value=http://www.hake.cc/kf/201109/"值"/>為對象設(shè)置屬性值:<jsp:setProperty property="javaBean對象屬性名" name="javaBean對象" param="username"/>(param="username" 相當(dāng)于 value=http://www.hake.cc/kf/201109/<%=request.getParameter("username")%>) 五:param動作(傳遞參數(shù))):到達(dá)跳轉(zhuǎn)頁面可以通過 request.getParameter(“參數(shù)名”)方式取出參數(shù)值<jsp:include page="轉(zhuǎn)向頁面的url" > <jsp:param name="參數(shù)名1" value=http://www.hake.cc/kf/201109/"參數(shù)值1">
<jsp:param name="參數(shù)名2" value=http://www.hake.cc/kf/201109/"參數(shù)值2"> ........... </jsp:include>或:<jsp:forward page="轉(zhuǎn)向頁面的url" > <jsp:param name="參數(shù)名1" value=http://www.hake.cc/kf/201109/"參數(shù)值1"> <jsp:param name="參數(shù)名2" value=http://www.hake.cc/kf/201109/"參數(shù)值2"> ...........</jsp:forward> 六:forward動作:跳轉(zhuǎn)頁面:<jsp:forward page="login.jsp" /> 七:plugin動作:<jsp:plugin>:用于指定在客戶端運(yùn)行的插件 JSP三大指令之:一:page指令:1.指定頁面編碼.例:<%@ page language="java" contentType="text/html;charset=gbk" pageEncoding="gbk" %>2.導(dǎo)入包,例:<%@ page import="java.util.*,java.text.*" %>.二:include 指令靜態(tài)包含(統(tǒng)一編譯):<%@ include file="included.jsp"%> 三:taglib 三.Jsp中的靜態(tài)包含與動態(tài)包含動態(tài)include(<jsp: include page="included.jsp"/>)靜態(tài)include(<%@ include file="included.jsp"%>)1. 靜態(tài)include的結(jié)果是把其他jsp引入當(dāng)前jsp,兩者合為一體,可以達(dá)到數(shù)據(jù)的共享即可以說是統(tǒng)一編譯的,而動態(tài)include的結(jié)構(gòu)是兩者獨(dú)立的,直到輸出時才合并即為分別編譯的.2.動態(tài)include的jsp文件獨(dú)立性很強(qiáng),是一個單獨(dú)的jsp文件,需要使用的對象,頁面設(shè)置,都由自己創(chuàng)建,而靜態(tài)include純粹是把代碼寫在外面的一種共享方法,所有的變量都是可以和include它的主文件共享,兩者高度緊密結(jié)合,不能 有變量同名的沖突.而頁面設(shè)置也可以借用主文件的.3.動態(tài)包含總是檢查被包含頁面的變化,靜態(tài)包含不一定檢查被包含頁面的變化.4.動態(tài)包含可帶參數(shù),靜態(tài)包含不能帶參數(shù).如(<jsp: include page="included.jsp">放入?yún)?shù)</jsp:include>);
新聞熱點(diǎn)
疑難解答
圖片精選