一JSP元素
脚本元素包括表达式程序码片段(包括内置类)声明(成员变量和方法)注释(输出和隐藏)
指令元素包括page(languageextendsimportsessionbufferautoFlushisThreadSafeinfoerrorPageisErrorPagecontentType)include(file)和taglib(uriprefix)
动作元素系统元素
jsp:include page=? flush="true"(jsp必须是这个) 可以夹带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版本默认"
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="abc|a/b/ccer与class不两立"
type="有同接口的类名或类实现的接口名(只能使用接口中的方法)"
jsp:setProperty name="bean实例id" property="bean须有setPropertyName()的方法" [param=?] value=?若不指定value则从request中取与property名字相同或param名字相同的变量若值为""不执行
jsp:getProperty name="bean id" property="bean属性须有getPropertyName()方法" 该动作元素直接输出
空白字符空格(x)Tab(x)回车(xda)jsp页面中的这些符号都会被outprintln
转义字符 %>%>"都应当用\转义
二隐藏对象
request javaxservletHttpServletRequest类型
String getParameter(String parameterName);
javautilEnumeration getParamerterNames();
String[] getParameterValues();
Object getAttribute(String name);
javautilEnumeration getAttributeNames();
void removeAttribute(String attributeName);
void setAttribute(String name Object object);
javaxservlet[] getCookies();
javautilEnumeration getHeaderNames();//消息头
javautilEnumeration 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是否有效
javautilLocale getLocale();//客户同意内容所采取的Locale取决于AcceptLanguge
javautilEnumeration getLocales();
response javaxservlet
int getBufferSize();
void setBufferSize(int size);//
boolean isCommitted();//写入状态码和报头后响应是否已提交
void reset();//清除缓存内的所有数据包括状态码和报头
void flushBuffer();//强制缓存中的任何内容写入客户
void addHeader(String nameString 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(javautiLocale locale);
void sendError(int sc String msg);
void sendError(int sc);//状态码和描述性信息项客户发送错误响应
void sendRedirect(String location);
pageContext javaxservletjspPageContext(由具体开发商完成具体化)
/*int scope:
pageContextPAGE_SCOPE
pageContextREQUEST_SCOPE
pageContextSESSION_SCOPE
pageContextAPPLICATION_SCOPE
*/
Object getAttribute(String name);//pageScope变量
Object getAttribute(String name int scope);
Object findAttribute(String name);
javautilEnumeration 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);
javaxservletjspJspWriter getOut();//out
Exception getException();//exception
javaxservletServletRequest getRequest();//request
javaxservletServletResponse getResponse();//response
javaxservlet();//session
javaxservletServletConfig getServletConfig();//config
javaxservletServletContext getServletContext();//application
javaxservletjspJspWriter popBody();
javaxservletjsptagextBodyContent pushBody();//管理taglib内部的嵌套输出流
void forward(String relativeUrlPath);
void include(String relativeUrlPath);
void handleException(javalangException e);
session javaxservlet
//安装cookie
//URL重写
//SSL会话
Object getAttribute(String attributeName);
javautilEnumeration getAttributeNames();
void setAttribute(String name Object value);
void removeAttribute(String name);
long getLastAccessedTime();//最后一次发送本次session相关数据的时间
/*关于long型时间指从 :: 开始的毫秒数*/
void setMaxInactiveInterval(int interval);//秒为单位
int getMaxInactiveInterval();
void invalidate();//使会话无效
out javaxservletjspJspWriter
//错误是会引发javaioIOException
void clear();//清除缓沖区responsereset()?
void clearBuffer();//清除缓沖区当前内容
void flush();//
void close();//先刷新再关闭
int getBufferSize();
int getRemaining();//还没有使用的缓沖区
boolean isAutoFlush();//page autoFlush属性
void print(Object object);
void println(Object object);
application javaxservletServletContext
String getInitParameter(String name);
javautilEnumeration getInitParameterNames();
Object getAttribute(String name);
void setAttibute(String name Object object);
javautilEnumeration getAttributeNames();
void removeAttribute(String name);
//修改的时候isThreadSafe最好设成false而且用synchronized()
javanetURL getResource(String path);
//URL::getPath()跟applicationgetRealPath()一样
javaioInputStream getResourceAsStream(String path);//同URL::openStream();
//RequestDispatcher:工作在服务器笑程序之间的服务
javaxservletRequestDispatcher getNamedDispatcher(String name);//name 为servlet的名称
javaxservletRequestDispatcher 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();
config javaxservletServletConfig
String getInitParameter(String name);
javautilEnumeration getInitParameterNames();
String getServletName();
ServletContext getServletContext();
page javaxservletjspHttpJspPage
//通常不是JSP页面的创作者使用
javaxservletServletConfig getServletConfig();
String getServeletInfo();
exception javalangException
String getLocalizedMessage();
String getMessage();
void printStackTrace();
void printStackTrace(javaioPrintStream ps);
void printStackTrace(javaioPrintWriter pw);