JSP指令: 


 page指令:<%@page 属性1="属性值" 属性2="属性值1,属性值2"^…属性值n="属性值n"%> 

 include指令 taglib指令 


 JSP脚本:语法 <%JAVA代码%> 

 JSP声明:语法 <%!JAVA代码%> 

 JSP表达式:语法<%=表达式%> //注意:表达式不以分号结束 


 request对象 

 常用方法: 

 String getParameter(String name)返回name制定参数的参数值 

 String[] getParameterValues(String name)返回包含参数name的所有值的数组 

 void setAttribute(String.Object存储次请求中的属性) 

 object getAttribute(String name)返回制定属性的属性值 

 String getContentType()得到请求题的MIME类型 

 String getProtocol()返回请求用的协议类型及版本号 

 String getServerName()返回接受请求的服务器主机名 



 response对象 

 常用方法: 

 String getCharacterEncoding()返回响应用的是何种字符 

 void setContentType(String type)设置响应的MIME类型 

 PrintWriter getWriter()返回可以向客户端输出字符的一个对象 

 sendRedirect(java.lang.String location)重新定向客户端的请求 




 session对象 

 常用方法: 

 long getCreationTime()返回session创建时间 

 public String getId()返回session创建时JSP引擎为它设的唯一ID号 

 public Object setAtribute(String name,Object value)使用指定名称将对象绑定到此会话 

 public Object getAttribute(String name)返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null 

 String[] getValueNames()返回一个包含此session种所有可用属性的数组 

 int getMaxInactiveInterval()返回两次请求间隔多长时间此session被取消(单位秒) 


 session的生命周期 

 销毁的三种方式: 

 1.调用了session.invalidate()方法 

 2.session过期或超时(Tomcat默认超时时间为30分钟) 

    设置session超时有两种方式: 

        1.session.setMaxInactiveInterval(时间);//单位是秒 

        2.在web.xml配置 

           <session-config> 

           <session-timeout> 

                  10 

           </session-timeout> 

           </session-config>单位是分钟 

 3.服务器重新启动 






 application对象 

 常用方法: 

 oublic void setAttribute(String name,Object value)使用指定名称将对象绑定到此会话 

 public Object getAttribute(String name)返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null 

 Enumeration getAttributeNames()返回所有可能属性名的枚举 

 String getServerInfo()返回JSP(SERVLET)引擎及版本号 





 page对象 

 常用方法: 

 class getClass()返回此Object类 

 int hashCode()返回此Object的hash码 

 boolean equals(Object obj)判断此Object是否与指定的Object对象相等 

 void copy(Object obj)把此Object拷贝到指定的Object对象中 

 Object clone()克隆此Object对象 

 String toString()把此Object对象转换成String类的对象 

 void notify()唤醒一个等待线程 

 void wait(int timeout)使一个线程处于等待知道timeout结束或被唤醒 

 void wait()使一个线程处于等待知道被唤醒 





 pageContext对象 

 常用方法: 

 JspWriter getOut()返回当前客户端响应被使用JSPWriter流(out) 

 HttpSession getSession()返回当前页中的HttpSession对象(session) 

 Object getPage()返回当前页的Object对象(page) 

 ServletRequest getRequest()返回当前页的ServletRequest()对象(request) 

 ServletResponse getResponse()返回当前页的ServletResponse对象(response) 

 void setAttribute(String name,Object attribute)设置属性及属性值 

 Object getAttribute(String name,int scope)在指定范围内取属性的值 

 int getAttributeScope(String name)返回某属性的作用范围 

 void forward(String relativeUrlPath)使当前页面重导到另一页面 

 void include(String relativeUrlPath)在当前位置包含另一文件 




 Config对象 

 常用方法: 

 ServetContext getServletContext()返回含有服务器相关信息的ServletContext对象 

 String getInitParameter(String name)返回初始化参数的值 

 Enumeration getInitParameterNames()返回serlvet初始化所需所有参数的枚举 





 Exception对象(如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译) 

 常用方法: 

 String getMessage()返回描述异常的消息 

 String toString()返回关于异常的简短描述消息 

 void printStackTrace()显示异常及其栈轨迹 

 Throwable FillInStackTrace()重写异常的执行栈轨迹 

 errorPage="exception.jsp"当前页面出现异常交给exception.jsp页面来处理 





 Javabean 

 设计原则: 

 1.公有类 

 2.属性私有 

 3.无参的公有构造方法 

 4.getter和setter方法 


 <jsp:useBeans> 

 作用:在JSP页面中实例化或者在指定范围内使用javabean: 

 <jsp:useBean id="标示符" class="java类名" scope="作用范围" /> 


 <jsp:getProperty> 

 作用:获取指定javabean对象的属性值 

 <jsp:getProperty name="javabean实例名" property="属性名" /> 



 javabean的四个作用域范围 

 说明:使用useBeans的scope属性可以用来指定javabean的作用范围 

 *page//仅在当前页面有效 

 *request//可以通过HttpRequest.getAttribute()方法取得Javabean对象 

 *session//可以通过HttpSession.getAttribute()方法取得Javabean对象 

 *application//可以通过application.getAttribute()方法取得Javabean对象 





 JSP中创建与使用cookie 

 创建cookie对象 

 Cookie newCookie = new Cookie(String key,Object value); 

 写入Cookie对象 

 response.addCookie(newCookie); 

 读取Cookie对象 

 Cookie[] cookies = request.getCookies(); 


 常用方法: 

 void setMaxAge(int expiry)设置cookie的有效期,以秒为单位 

 void setValue(String value)在cookie创建后,对cookie进行赋值 

 String getName()获取cookie的名称 

 String getValue()获取cookie的值 

 int getMaxAge()获取cookie的有效时间,以秒为单位 




 include指令 

 语法: 

 <%@ include file="URL"%> 

 include动作 

 语法: 

 <jsp:include page="URL" flush="true|false"/> 



 include指令与include动作比较: 

                              include指令                  jsp:include动作 

 语法格式             <%@ include file="…" %>       <jsp:include page="…"> 

 发生作用的时间        页面转换期间                   请求期间 

 包含的内容            文件的实际内容                 页面的输出 

 转换成Servlet         主页面和包含页面转换           主页面和包含页面转换 

                       为一个Servlet                  为独立的Servlet 

 编译时间              较慢:资源必须被解析            较快 

 执行时间              稍快                           较慢:每次资源必须被解析          




 forward动作 

 语法: 

 <jsp:forward page="URL" /> 

 等同于: 

 request.getRequestDispatcher("/url").forward 



 param动作 

 语法: 

 <jsp:param name="参数名" value="参数值"> 

 常常与<jsp:forward>一起使用,作为其的子标签