JSP内置对象解析
1)out对象(PrintWriter类的实例)
用来向客户端输出信息,除了输出各种信息外还负责对缓冲区进行管理;
主要方法:
| print / println | void | 输出数据 |
| newLine() | void | 输出换行字符 |
| clear() | void | 清除缓冲区数据,但不输出打客户端 |
| clearBuffer() | void | 清除缓冲区内容,输出到客户端 |
| flush() | void | 输出缓冲区数据 |
| getBufferSize() | int | 获得缓冲区大小 |
| getRemaining() | int | 获得缓冲区中没有被占用的空间 |
| isAutoFlush() | boolean | 是否为自动输出 |
| close() | void | 关闭输出流 |
2)request对象(HttpServletRequest类的实例)
request对象封装了从客户端到服务器发出的请求信息。
主要方法:
| isUserInRole() | boolean | 判断认证后的用户是否属于某一成员组 |
| getAttribute(String name) | Object | 获取指定属性的值,如该属性不存在则返回Null |
| getAttributeNames() | Enumeration | 获取所有属性名的集合 |
| getCookies() | Cookis [ ] | 获取所有Cookie对象 |
| getCharacterEncoding() | String | 获取请求的字符编码方式 |
| getContentLength() | int | 返回请求正文的长度,如不确定返回-1 |
| getHeader(String name) | String | 获取指定名字报头值 |
| getHeaders(String name) | Enumeration | 获取指定名字报头的所有值,一个枚举 |
| gerHeaderNames() | Enumeration | 获取所有报头的名字,一个枚举 |
| getInputStream() | ServletInoutStream | 返回请求输入流,获取请求中的数据 |
| getMethod() | String | 获取客户端向服务器端传送数据的方法 |
| getParameter(String name) | String | 获取指定名字参数值 |
| getParameterNames() | Enumeration | 获取所有参数的名字,一个枚举 |
| getParameterValues(String name) | String [ ] | 获取指定名字参数的所有值 |
| getProtocol() | String | 获取客户端向服务器端传送数据的协议名称 |
| getQueryString() | String | 获取以get方法向服务器传送的查询字符串 |
| getRequestURL() | String | 获取发出请求字符串的客户端地址 |
| getRemoteAddr() | String | 获取客户端的IP地址 |
| getRemoteHost() | String | 获取客户端的名字 |
| getSession() | HttpSession | 获取和请求相关的会话 |
| getServerName() | String | 获取服务器的名字 |
| getServerPath() | String | 获取客户端请求文件的路径 |
| getServerPort() | int | 获取服务器的端口号 |
| removeAttribute(String name) | void | 删除请求中的一个元素 |
| setAttribute(String key,Object obj) | void | 设置指定名字参数值 |
3)response对象(HttpServletResponse类的实例)
主要用于对客户端的请求进行回应,以及处理http的连接信息,例如设置http文件头,设置cookie对象的那个;
主要方法:
| addCookie(Cookie cookie) | void | 添加一个Cookie对象 |
| addHeader(String name,String value) | void | 添加Http文件指定名字头信息 |
| containsHeader(String name) | boolean | 判断指定名字头Http文件头的信息是否存在 |
| encodeURL(String url) | String | 使用sessionid封装URL |
| flushBuffer() | void | 强制把当前缓冲区内容发送到客户端 |
| getBufferSize() | int | 返回缓冲区大小 |
| getOutputStream() | ServletOutputStream | 返回客户端的输出流对象 |
| sendError(int sc,String msg) | void | 向客户端发送错误信息 |
| sendRedirect(String location) | void | 把响应发送到另一个位置进行处理(重定向) |
| setContenType(String type) | void | 设置相应的MIME类型 |
| setHeader(String name,String value) | void | 设置指定名字的Http文件头信息 |
4)session对象(HttpSession类的实例)
http是无状态的连接协议,需要使用session来存放用户每次的登陆信息
session对象是一个jsp内置对象,它在第一个jsp被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束(或者超时),被称为一个会话。
当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要创建session对象。
主要方法:
| getAttribute(String name) | Object | 获取指定名字的属性 |
| getAttributeNames() | Enumeration | 获取session中全部属性名字,一个枚举 |
| getCreationTime() | long | 返回session创建的时间 |
| getId() | String | 获取会话标识符 |
| getLastAccessedTime() | long | 返回最后发送请求的时间 |
| getMaxInactiveInterval() | int | 返回session对象的生存时间单位千分之一秒 |
| invalidate() | void | 销毁session对象 |
| isNew() | boolean | 每个请求是否会产生新的session对象 |
| removeAttribute(String name) | void | 删除指定名字的属性 |
| setAttribute(String name,Object obj) | void | 设置指定名字的属性值 |
5)application对象(ServletContext类的实例)
为多个用户共享全局信息。比如当前的在线人数等。
application对象代表当前的应用程序,存在于服务器的内存空间中。
应用一旦启动便会自动生成一个application对象,如果应用没有被关闭,此application对象便一直会存在,直到应用被关闭。application的生命周期比session更长。
主要方法:
| getAttribute(String key) | Object | 获取应用对象中指定名字的属性值 |
| getAttributeNames() | Enumeration | 获取应用对象中所有属性的额名字,一个枚举 |
| getInitParameter(String str) | String | 返回应用对象指定名字的初始参数值 |
| getServletInfo() | String | 返回Servlet编译器中当前版本信息 |
| setAttribute(String key,Object obj) | void | 设置应用对象中指定名字的属性值 |
6)config对象(ServletConfig类的实例)
config对象表示当前jsp程序的配置信息,一般项目中jsp被用作模板技术,也就是位于表示层而位于表示层的jsp文件一般是不需要配置信息的。所以此对象在jsp中很少使用。
主要方法:
| getServletContext() | ServletContext | 获取Servlet上下文 |
| getServletName() | String | 获取Servlet服务器名 |
| getInitParameter(String name) | String | 获取服务器中name参数的初始值 |
| getInitParameterNames() | Enumeration | 获取服务器所有初始参数名称,返回值为java.util.Enumeration对象 |
7)page对象
page对象有点类似java编程中的this指针,它指向当前jsp页面本身。
主要方法:
| toString() | String | 将当前项目的信息打印出来 |
| getClass() | Object | 返回当前对象的object类 |
| hashCode() | int | 返回page对象的hashCode值 |
| equals(Object obj) | boolean | 用于比较对象是否与当前对象相同 |
| copt(Object obj) | void | 把Object对象拷贝到指定的对象中 |
| clone() | Object | 克隆Object对象 |
8)exception对象(Exception类的对象)
exception对象表示jsp引擎在执行代码时抛出的异常,如果想要使用exception对象,那么需要配置编译指令的isErrorPage属性为true。
即在页面指令中设置<%@ page isError="true">
9)pageContext对象(PageContext类的实例)
pageContext对象是jsp页面中所有对象功能的最大集成者,使用它可以访问所有jsp内置对象。
主要方法:
| forward(ServletRequest arg0,ServletResponse arg1) | void | 重新定向到另一页面或Servlet组件 |
| getAttribute(String name,ine scope) | Object | 获取某范围中指定名字的属性值 |
| findAttribute(String name) | Object | 按范围搜索指定名字的属性 |
| removeAttribute(String name[,int scope]) | void | 删除某范围中指定名字的属性 |
| setAttribute(String name,Object obj) | void | 设置某范围中指定名字的属性值 |
| getException() | Exception | 返回当前异常对象 |
| getRequest() | ServletRequest | 返回当前请求对象 |
| getResponse() | ServletResponse | 返回当前响应对象 |
| getServletConfig() | ServletConfig | 返回当前页面的ServletConfig对象 |
| getServletContext() | ServletContext | 返回所有页面共享的ServletContext对象 |
| getSession() | HttpSession | 返回当前页面的会话对象 |
10)get 与 post 表单的两种提交方式
<form name="regForm" action="动作" method="提交方式"> </form>
● get:以明文的方式通过URL提交数据,数据在URL中可以看到。
提交数据最多不超过2kb。安全性较低但效率比post搞。适合提交数据不大,安全性不高的数据。比如:搜索、查询功能等。
● post:将用户提交的信息封装在HTML HEADER内。
适合提交数据较大,安全性高的用户信息。比如:注册、修改、上传等功能。

浙公网安备 33010602011771号