一,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::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); |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 21:30 , Processed in 0.212120 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.