首页 > 开发 > JSP > 正文

JSP基本语法

2020-02-05 13:36:05
字体:
来源:转载
供稿:网友

一,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);

上一篇:JSP实用篇

下一篇:JSP中图片验证的实现

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表