一,jsp元素
1,腳本元素,包括表達式、程序碼片段(包括內置類)、聲明(成員變量和方法)、注釋(輸出和隱藏)
2,指令元素,包括page(language,extends,import,session,buffer,autoflush,isthreadsafe,info,errorpage,iserrorpage,contenttype)、include(file)和taglib(uri,prefix)。
3,動作元素,系統元素:
jsp:include page=? flush="true"(jsp1.1必須是這個) 可以夾帶jsp:param來添加request
jsp:forward page=? 可以夾帶jsp:param來添加request
jsp:param name=? value=?
jsp:plugin
type="bean|applet"
code="classfilename"
codebase="classfilepathurl"
align=?height=? name=? width=?hspace="與環繞文本之間的水平空白空間的大小" vspace=?
archive="標識包含對象的java類的.jar文件的url"
jrevision="標識組件需要的運行時環境jre版本,默認1.1"
title="ie使用的對象標題"
nspluginurl="可以為netscape下載jre插件的url"
iepluginurl="可以為ie下載jre插件的url"
jsp:params由jsp:plugin封裝一個jsp:action列表 如jsp:param放在中間
jsp:fallback 加載jsp:plugin失敗時用來提供一個替代的html響應,如一段文本
jsp:usebean
id="實例名"
scope="page|request|session|application"
class="類名,若無type則須有class,若有beanname則須無class"
beanname="a.b.c|a/b/c.cer,與class不兩立"
type="有同接口的類名,或類實現的接口名(只能使用接口中的方法)"
jsp:setproperty name="bean實例id" property="bean須有setpropertyname()的方法" [param=?] value=?若不指定value則從request中取與property名字相同或param名字相同的變量,若值為""不執行
jsp:getproperty name="bean id" property="bean屬性,須有getpropertyname()方法" 該動作元素直接輸出
4,空白字符:空格(0x20),tab(0x09),回車(0x0d0a),jsp頁面中的這些符號都會被out.println
5,轉義字符 %>,,%>,',"都應當用/轉義
二,隱藏對象
1,request javax.servlet.httpservletrequest類型,
string getparameter(string parametername);
java.util.enumeration getparamerternames();
string[] getparametervalues();
object getattribute(string name);
java.util.enumeration getattributenames();
void removeattribute(string attributename);
void setattribute(string name, object object);
javax.servlet.http.cookie[] getcookies();
java.util.enumeration getheadernames();//消息頭
java.util.enumeration getheaders(string headername);
string getheader(string headername);
int getintheader(string headername);
long getdateheader(string headername);
string getmethod();//請求方法
string getrequesturi;//協議名和查詢字符串之間,無主機名
string getcontextpath();//請求的文件所在的應用程序環境
string getservletpath();//以contextpath為根,指定小程序或jsp所在的位置
string pathinfo();//額外的路徑信息
string getquerystring();
boolean issecure();//是否用了https
boolean isrequestedsessionidfromcookie();
boolean isrequestedsessionidfromurl();
boolean isrequestedsessionidvalid();//請求會話的id是否有效
java.util.locale getlocale();//客戶同意內容所采取的locale,取決于acceptlanguge
java.util.enumeration getlocales();
2,response javax.servlet.http.httpservletresponse
int getbuffersize();
void setbuffersize(int size);//
boolean iscommitted();//寫入狀態碼和報頭后,響應是否已提交
void reset();//清除緩存內的所有數據包括狀態碼和報頭
void flushbuffer();//強制緩存中的任何內容寫入客戶
void addheader(string name,string value);
void setheader(string name, string value);
void adddateheader(string name, long date);
void setdateheader(string name, long date);
void addintheader(string name, int value);
void setintheader(string name, int value);
boolean containsheader(string name);
void setcontenttype(string type);
void setlocale(java.uti.locale, locale);
void senderror(int sc, string msg);
void senderror(int sc);//狀態碼和描述性信息項客戶發送錯誤響應
void sendredirect(string location);
3,pagecontext javax.servlet.jsp.pagecontext(由具體開發商完成具體化)
/*int scope:
pagecontext.page_scope
pagecontext.request_scope
pagecontext.session_scope
pagecontext.application_scope
*/
object getattribute(string name);//pagescope變量
object getattribute(string name, int scope);
object findattribute(string name);
java.util.enumeration getattributenamesinscope(int scope);
int getattributescope(string name);
void removeattribute(string name);
void removeattribute(string name, int scope);
void setattribute(string name, object object);
void setattribute(string name, object object, int scope);
javax.servlet.jsp.jspwriter getout();//out
exception getexception();//exception
javax.servlet.servletrequest getrequest();//request
javax.servlet.servletresponse getresponse();//response
javax.servlet.http.httpsession getsession();//session
javax.servlet.servletconfig getservletconfig();//config
javax.servlet.servletcontext getservletcontext();//application
javax.servlet.jsp.jspwriter popbody();
javax.servlet.jsp.tagext.bodycontent pushbody();//管理taglib內部的嵌套輸出流
void forward(string relativeurlpath);
void include(string relativeurlpath);
void handleexception(java.lang.exception e);
4,session javax.servlet.http.httpsession
//安裝cookie
//url重寫
//ssl會話
object getattribute(string attributename);
java.util.enumeration getattributenames();
void setattribute(string name, object value);
void removeattribute(string name);
long getlastaccessedtime();//最后一次發送本次session相關數據的時間
/*關于long型時間:指從1970-1-1 00:00:00 開始的毫秒數*/
void setmaxinactiveinterval(int interval);//秒為單位
int getmaxinactiveinterval();
void invalidate();//使會話無效
5,out javax.servlet.jsp.jspwriter
//錯誤是會引發java.io.ioexception
void clear();//清除緩沖區,response.reset()?
void clearbuffer();//清除緩沖區當前內容
void flush();//
void close();//先刷新再關閉
int getbuffersize();
int getremaining();//還沒有使用的緩沖區
boolean isautoflush();//page autoflush屬性
void print(object object);
void println(object object);
6,application javax.servlet.servletcontext
string getinitparameter(string name);
java.util.enumeration getinitparameternames();
object getattribute(string name);
void setattibute(string name, object object);
java.util.enumeration getattributenames();
void removeattribute(string name);
//修改的時候,isthreadsafe最好設成false,而且用synchronized()
java.net.url getresource(string path);
//url::getpath()跟application.getrealpath()一樣
java.io.inputstream getresourceasstream(string path);//同url:http://www.alixixi.com/dev/web/jsp/jsp1/2007/:openstream();
//requestdispatcher:工作在服務器笑程序之間的服務
javax.servlet.requestdispatcher getnameddispatcher(string name);//name 為servlet的名稱
javax.servlet.requestdispatcher getrequestdispatcher(string path);//path 為servlet的路徑
void log(string message);
void log(string message, throwable throwable);//將一個消息和棧跟蹤記錄到小程序日志文件中
string getmimetype(string file);
string getrealpath(string virtualpath);//url::getpath
string getserverinfo();
int getmajorvertion();
int getminervertion();
7,config javax.servlet.servletconfig
string getinitparameter(string name);
java.util.enumeration getinitparameternames();
string getservletname();
servletcontext getservletcontext();
8,page javax.servlet.jsp.httpjsppage
//通常不是jsp頁面的創作者使用
javax.servlet.servletconfig getservletconfig();
string getserveletinfo();
9,exception java.lang.exception
string getlocalizedmessage();
string getmessage();
void printstacktrace();
void printstacktrace(java.io.printstream ps);
void printstacktrace(java.io.printwriter pw);
新聞熱點
疑難解答