内置对象:不需要预先声明就可以在脚本代码和表达式中随意使用,有以下特点
1.由JSP规范提供,不用编写者实例化
2.提供Web容器实现和管理
3.所有JSP页面均可用
4.只有在脚本元素的表达式或者代码中才可使用(<%=使用内置对象%>或<%使用内置对象%>)
输入输出对象:request,response,out
通信控制对象:pageContext,session,application
Servlet对象:page,config
错误处理对象:exception
1. request - 请求对象 javax.servlet.httpServletRequestrequest 对象是 javax.servlet.httpServletRequest类的实例,该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。
request对象的作用域为一次请求,发送请求时,该对象创建,一次请求结束后即销毁(一次请求,产生一个request对象)
该对象封装了用户提交信息,通过调用该对象相应的方法以获取封装的信息,使用该对象,可以获取用户提交的信息。
1 String getParameter(String name)返回name指定参数的参数值
2 Enumeration getParameterNames()返回可用参数名的枚举
3 String[] getParameterValues(String name) 返回包含参数name的所有值的数组
4 void setAttribute(String key,Object obj) 设置属性的属性值
5 object getAttribute(String name) 返回指定属性的属性值(即setAttribute中参数key的值)
6 Enumeration getAttributeNames() 返回所有可用属性名的枚举
7 String getProtocol() 返回请求用的协议类型及版本号
8 String getServerName() 返回接受请求的服务器?*?
9 int getServerPort() 返回服务器接受此请求所用的端口号
10 BufferedReader getReader() 返回解码过了的请求体
11 String getRemoteAddr() 返回发送此请求的客户端IP地址
12 String getRemoteHost() 返回发送此请求的客户端?*?
13 String getScheme() 返回请求用的计划名,如:http.https及ftp等
14 String getRealPath(String path) 返回一虚拟路径的真实路径
15 String getCharacterEncoding() 返回字符编码方式
16 int getContentLength() 返回请求体的长度(以字节数)
17 String getContentType() 得到请求体的MIME类型
18 ServletInputStream getInputStream() 得到请求体中一行的二进制流
2. response - 响应对象 javax.servlet.http.HttpServletResponseresponse代表的是对客户端的响应,主要是将JSP容器处理过的对象传回给客户端
对客户端请求做出动态响应,向客户端发送数据,响应客户端请求时建立,响应结束时销毁(一次响应,产生一个response对象)
动态响应contentType属性:
当一个用户访问了一个jsp页面时,如果该页面用page指令设置页面的contentType属性为text/html,那么jsp引擎将按照这个属性值做出反应。如果要动态改变这个属性值来响应客户,就需要使用Response对象
1 String getCharacterEncoding() 返回响应用的是何种字符编码
2 ServletOutputStream getOutputStream() 返回响应的一个二进制输出流
3 PrintWriter getWriter() 返回可以向客户端输出字符的一个对象
4 void setContentLength(int len) 设置响应头长度
5 void setContentType(String type) 设置响应的MIME类型
6 sendRedirect(Java.lang.String location) 重新定向客户端的请求
3. session - 会话对象 javax.servlet.http.HttpSession在页面的page指令加上session="true" 或缺省 情况下以及在servlet中使用request.getSession();的方式进行创建。超时或服务停止时,session结束。(一个用户对应一个session对象)
什么是session对象?——它是一个jsp内置对象,它在第一个jsp被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离 开这个服务器结束(或者超时),被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要创建session对象
session对象的ID——当一个客户首次访问服务器上的一个jsp页面时,jsp引擎会产生一个session对象,同时分配一个String类型的的ID号,jsp引擎同时将这个ID号发送到客户端,存放在cookie中,这样,,session对象直到客户关闭浏览器后,服务器端,该客户的session对象才会消失,会并,和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象
1 long getCreationTime() 返回Session创建时间
2 public String getId() 返回Session创建时,JSP引擎为它分配的惟一id号
3 long getLastAccessedTime() 返回此Session里客户端最近一次请求时间
4 int getMaxInactiveInterval() 返回两次请求间隔多长时间此Session被取消(ms)
5 String[] getValueNames() 返回一个包含此Session中所有可用属性的数组
6 void invalidate() 取消Session,使Session不可用
7 boolean isNew() 返回服务器创建的一个Session,客户端是否已经加入
8 void removeValue(String name) 删除Session中指定的属性
9 void setMaxInactiveInterval() 设置两次请求间隔多长时间此Session被取消(ms)
4. application - 应用程序对象 javax.servlet.ServletContext