JSP基本语法

js|语法

一,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/program/a/: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);

时间: 2024-08-04 09:08:31

JSP基本语法的相关文章

十一、JSP及语法概要

js|语法     11.1 概述 JavaServer Pages(JSP)使得我们能够分离页面的静态HTML和动态部分.HTML可以用任何通常使用的Web制作工具编写,编写方式也和原来的一样:动态部分的代码放入特殊标记之内,大部分以"<%"开始,以"%>"结束.例如,下面是一个JSP页面的片断,如果我们用http://host/OrderConfirmation.jsp?title=Core+Web+Programming这个URL打开该页面,则结果

给javabeans的礼物一篇:JSP基本语法

js|语法 JSP基本语法 讲完安装问题后,现在进入来讨论JSP语法.一个投机取巧的办法是下载语法卡片.如果你不熟悉Java编程,也许你想看一下Sun的指南 .然而网页创建者并不需要进行太多的Java开发.除了一些方法调用,在你的JSP网页里应尽可能少用Java代码. 记住以上提示,我们首先来看一看JSP指令和脚本元素,之后我们会解释JavaBeans和隐含对象.共有五种JSP指令和脚本元素.在JSP 1.0版中,大部分JSP被一个以"<%" 开头和以"%>&qu

JSP及语法概要

js|语法 作 者 : 仙人掌工作室          11.1 概述       JavaServer Pages(JSP)使得我们能够分离页面的静态HTML和动态部分.HTML可以用任何通常使用的Web制作工具编写,编写方式也和原来的一样:动态部分的代码放入特殊标记之内,大部分以"<%"开始,以"%>"结束.例如,下面是一个JSP页面的片断,如果我们用http://host/OrderConfirmation.jsp?title=Core+Web+P

jsp基础语法 一 scriptlet

jsp作为WEB的开发基础,有其重要的地位,那么熟练掌握JSP的语法及应用就成了重中之重. 首先我们一起先从JSP的基本语法学起:(以下内容来自李兴华视频手稿整理) scriptlet简介 script表示的是脚本小程序,像之前out.println()这个语句是缩写在<%%>之中的,很明显,这里面 缩写的语句就是一个script. 在jsp中最重要的部分就是Scriptlet(脚本小程序),所有嵌入在HTML代码中的java程序都必须使用 Scriplet标记出来,在jsp中一共有三种scr

jsp基础语法 六 jsp+jdbc访问数据库

学习过了jsp基础语法以及HTML和javascript的用法之后,jsp+jdbc连接数据库开发动态WEB网页就可以实现了. 对于学过java SE的同学来说,数据库的操作并不陌生,如果有忘记的或者不会的可以到http://zhaoyuqiang.blog.51cto.com/6328846/1127658  学习. jsp中的数据库连接又是如何呢? 怎样才能利用上我们学过的HTML和javascript的知识呢? 这就是我们这一篇文章的学习内容----jsp+jdbc访问数据库. 我们就以一

jsp基础语法 五 跳转指令

跳转的作用: 使用跳转指令可以将一个用户的请求,从一个页面传递到另外一个页面. 例如:用户登录QQ空间,如果用户名和密码正确的话就会跳转到空间首页,否则就会跳转到失败页. 跳转指令的语法: 不传递参数   <jsp:forward page=""/> 传递参数:  <jsp:forward page=""> <jsp:param name="参数名称" value="参数内容"> </

jsp基础语法 四 包含指令

什么是包含: 在页面开发的时候,一些代码难免会有重复使用的情况,比如说A页面有一段代码a,B页面和C页面都能用到a这段代码,那么B和C页面就把A页面包含进来,自然的a这段代码也被包含进BC页面了,这样就实现了B.C页面能用到a代码了,避免了重复的书写a代码. 包含的意义: 使用包含操作,可以将一些重复的代码包含进来继续使用. 一般分为如上四个区域. 真正在改变的地方只是具体内容,因为根据不同的用户浏览的不同,那么肯定这上面会存在差别  现在就有两种做法实现以上一种功能 方法一:在没有一个jsp页

jsp基础语法 三 page指令

page指令 page指令是在jsp开发中较为重要,使用此属性,可以定义一个jsp页面的相关属性,包括 设置MIME类型.定义需要导入的包.错误页的指定等 page指令的语法:<%@ page 属性="内容"%> page的主要属性: 设置MIME 先来观察一道程序: <html> <head> <title> New Document </title> </head> <body> <cente

jsp基础语法 二 注释的使用

我的一个同学问我,java中有"//"这个样的注释,用起来挺方便的,jsp的注释难道不是这个吗?用"//"在jsp中不行. 对于学习了这么长时间的jsp,注释是最基本的.jsp中的注释不同于java. 在jsp中支持两种注释,一种是显示注释,这种注释客户端是允许看见的,另外一种注释是隐式注释,此种注释客户端是无法看见的. 显示注释语法: <!--注释内容--> 隐式注释语法: 格式一:// 注释,单行注释: 格式二:  /* 注释 */,多行注释: 格式

java-在超链接&amp;amp;lt;a&amp;amp;gt;的href或&amp;amp;lt;form&amp;amp;gt;的action中可以使用“JSP表达式”语法吗

问题描述 在超链接<a>的href或<form>的action中可以使用"JSP表达式"语法吗 我是这样写的: 解决方案 用这个${pageContext.request.contextPath}替代你写的jsp脚本 解决方案二: 我是这样写的: 解决方案三: 标签写全会被吞......... form:form action="<%=request.getContextPath() %>/student/studentModifyFini