一,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);
新闻热点
疑难解答