九大内置对象(重中之重)
JSP中,因为对部分Java对象作了声名,因此即使不重新声明这些对象,也可以调用,这些内置对象起到简化页面的作用,不需要由开发人员进行实例化,他们由容器实现和管理,在所有的Jsp页面中都能使用内置对象,内置对象在JSp初始化时生成,可以利用这些对象制作多种JavaWeb应用程序
1.out对象(重点)
主要用来向客户端输出各种数据类型内容,并且管理应用服务器上的输出缓冲区。
out.print()//输出数据
out.newLine()//输出一个换行符
out.flush()//输出缓冲区里的数据
out.close()//关闭输出流
out.clearBuffer()//清除缓冲区里的数据,并把数据输出到客户端
out.clear()//清除缓冲区里的数据,但不会把数据输出到客户端
out.getBufferSize()//获得缓冲区大小
out.getRemaining()//获得缓冲区中没有被占用的空间大小
out.isAutoFlush()//返回布尔值。如果AutoFlush为真则返回真。

2page对象(重点)
page对象是为了执行应答请求和设置的Servlet类的实体,即显示JSP页面自身,只有在JSP页面内才是合法的。Page隐含对象本质上包含当前Servlet接口引用的变量,可以看作是this变量的别名,因此该对象对于开发JSP比较有用
page.getClass()//获得page对象的类
page.hashCode()//获得page对象的hash
page.toString()//将此page对象转换为String类对象
page.notify()//唤醒一个等待的进程
page.notifyAll()//唤醒所有等待的进程
page.wait()//使一个线程处于等待直到被唤醒
page.wait(longtimeout)//使一个线程处于等待直到timeout或被唤醒

3request对象(重点)
requeset对象是从客户端向服务器发出的请求,可以通过这个对象了解客户端信息
isUserInRole(Stringrole)判断认证后的用户是否属于逻辑的role中的成员
getAttribute(Stringname)返回由name指定的属性值。若不存在则为空
getAttributes()返回request对象的所有属性的名字集合,其结果是一个枚举的实例。
getCookies()返回客户端的所有Cookie对象,结果是一个Cookie数组。
getCharacterEncoding()返回请求中的字符编码方式。
getContentLength()返回请求的Body的长度,如果不确定长度,返回-1
getHeader(Stringname)获得HTTP协议定义的文件头信息
getHeaders(Stringname)返回指定名字的requestHeader的所有值,其结果是一个枚举的
getHeaderNames()返回所有requestHeader的名字,其结果是一个枚举实例。
getInputStream()返回请求的输入流,用于获得请求中的数据
getMethod()获得客户端向服务器端传送数据的方法,如GET,POST,HEADER,TRACE等。
getParameter(Stringname)获得客户端传送给服务器端的参数值。(重要)
getParameterNames()获得客户端传送给服务器端的所有参数名字,其结果是一个枚举的实例
getParameterValues(Stringname)获得指定参数的所有值。
getProtocol()获取客户端向服务器端传送数据所依据的协议名称
getQueryString()获得查询字符串,该字符串是由客户端以GET方式向服务器端传送的
getRequestURI()获取发出请求字符串的客户端地址
getRemoteAddr()获取客户端IP地址
getRemoteHost()获取客户端名字
getSession([Booleancreate])返回和请求相关的sessioncreate参数是可选的。当有参数create且这个参数值为true时,如果客户端还没有创建session,那么将创建一个新的session
getServerName()获取服务器的名字
getServletPath()获取客户端所请求的脚本文件的文件路径
getServerPort()获取服务器的端口号
removeAttribute(Stringname)删除请求中的一个属性
setAttribute(Stringname,java.lang.Objectobj)设置request的参数值

4response对象(重点)
response对象和request对象的性质相反,它所包含的是服务器向客户端做出的应答信息.实现过程中response被包装成HttpServletResponse接口,它包含装了JSP产生的响应,然后被发送到客户端以响应客户端的请求
addCookie(Cookiecook)添加一个Cookie对象,用来保存客户端的用户信息
addHeader(Stringname,Stringvalue)添加HTTP文件头信息。该Header信息将传达到客户端,如果已经存在同名的则会覆盖
spacer.gifcontainsHeader(Stringname)判断指定字句的Header是否已经存在,返回真假
encodeURL()使用sessionId封装URL。如果没有封装URL则返回原值
flushBuffer()强制把当前缓冲区的内容发送到客户端
getBufferSize()返回缓冲区的大小
getOutputStream()返回到客户端的输出流
sendError(int)向客户端发送错误信息。如404指网页不存在
sendRedirect(Stringlocation)把响应发送到另一个位置进行处理即请求重定向

spacer.gif例:response.sendRedirect(login.jsp);将网页重定向到另一个页面
setContent(StringcontentType)设置响应的MIME类型
getWriter()此方法返回一个PrintWriter对象
getCharacterEncoding()该方法获得此时相应所采用的字符编码类型
setDateHeader(Stringname,heaername,longdate)把指定的头名称以及日期设置为响应头信息其值是从新纪元算起的毫秒数
setHeader(Stringname,Stringvalue)设置指定名字的HTTP文件头的值,若存在则会覆盖。

例:response.setHeader(refresh,5;URL=login.jsp);定时跳转页面

5session对象(重点)
session是用于保护客户端信息而分配给客户的对象
getAttribute()获取与指定名字相联系的属性
getAttributeNames()session对象中存储的每一个对象,其结果为一个枚举的实例
getCreateTime()返回session的创建时间,最小单位这千分之一秒
getId()返回唯一的标识,每个sessionID是不同的
getLastAccessedTime()返回和当前session对象相关的客户端最后发送的请求时间
setMaxInactiveInterval(intnumber)该方法设定保存session数据的时间,参数number为秒数
getMaxInactiveInterval()返回决时间,负值表示session永远不会过期。它的值为session的生存时间
invalidate()销毁这个对象,
isNew()如果客户端不接受使用session,那么每个请求中都会产生一个session对象。
removeAttribute(Stringname)删除与指定名字相联系的属性
setAttribute(Stringname,java.langObjectobj)设置指定名字的属性值并将其存储在session中。

6application对象
application用来保存所有应用系统中的公有数据。
getAttribute(Stringname)返回指定名字的application对象的属性的值
getAttributeNames()返回所有应用程序级对象的属性的名字,其结果为枚举的实例
getInitParameter(Stringname)返回由指定名字的application对象的某个属性的初始值
getServletInfo()返回Servlet编译器的当前版本的信息
setAttribute(Stringname,Objectobj)设置指定名字的application对象的属性的值
removeAttribute(stringKey)通过关键字来删除一个对象的信息
getRealPath(Stringpath)返回虚拟路径的真实路径
getContext(StringURLPath)返回执行Web应用的application对象
getMajorVersion()返回服务器支持的ServletAPI最大版本号
getMinorVersion()返回服务器支持的ServletAPI最小版本号
getMimeType(Stringfile)返回指定文件的MIME类型
getResource(Stringpath)返回指定资源的输入流
getResourceDispathcher(StringURLPath)返回指定资源的RequestDispathcher
getServlet(Stringname)返回指定名称的servlet
getServlets()返回所有的Servlet,返回类型为枚举型
getServletNames()返回所有的Servlet名称,返回类型为枚举型
log(Stringmsg)把指定信息写入到Servlet的日志文件中
log(Stringmsg,Throwablethrowable)把轨迹以及给出的Throwable异常说明信息写入Servlet的日志文件

7config对象
config对象被封装成javax.servlet.ServletConfig接口.标识servlet的配置。当一个servlet初始化时,容器把某些信息通过此对象传递给servlet
getServletContext()返回执行者的Servlet上下文
getServletName()返回Servlet的名字
getInitParameter(Stringname)返回名字为name的初始参数的值
getInitParameterNames()返回这个JSP的所有的初始参数的名字

8pageContext对象
pageContext对象提供存取所有关于jsp程序执行时期所要用到的属性方法,他被封装成java.servlet.jap.pageContext接口,他的创建和初始化都是容器来完成的,jsp页面里可以直接使用pageContext对象的句柄,pageContext对象的getXXX()setXXX()findXXX()方法可以用来根据不同的对象范围实现对这些对象的管理
forward(StringUriPath)重定向
getAttribute(Stringname,[intscope])scope可选。用来检索一个特定的已经命名的对象的范围,并且还可以通过调用getAttributeNamesInScope()方法,检索对鞭个特定范围的每个属性String字符串名称的枚举。
getException()返回当前的exception对象
getRequest()返回当前的request对象
getResponse()返回当前的response对象
getServletConfig()返回当前页面的ServletConfig对象
getServletContext()返回ServletContext对象。这个对象对所有页面都是共享的
getSession()返回当前的session对象
findAttribute()可以用来按照页面,请求,会话以及应用程序范围顺序实现对某个已经命名的属性的搜索。
setAttribute()可以用来设置默认页面范围或特定范围之中的已命名对象。removeAttribute()可以用来删除默认范围或特定范围内的已命名对象

9exception对象
exception指的是Web应用程序能够识别并处理的问题,在Java中利用明为try/catch的关键字来处理异常情况,如果在JSP页面中没有捕捉到的异常,就会生成exception对象,并把这个exception对象传送到在page指令中设定的错误页面中,然后在错误提示页面中处理相应的exception对象
exception对象只有在错误页面(在页面指令里有isErrorPage=true的页面)才可以使用
getMessage()//获取异常消息字符串
getLocalizeMessage()//获取本地化语言的异常错误
printStackTrace()//显示异常的栈跟踪轨迹
toString()//返回关于异常错误的简单消息描述
fillInStackTrace()//重写异常错误的栈执行轨迹