jsp九种内置对象

来源:互联网 发布:盘点后的数据如何处理 编辑:程序博客网 时间:2024/04/29 06:24
        JSP为简化页面的开发提供了一些内部的对象,在所有的JSP页面中都能使用这些内部对象。编写JSP的人员不需要对这些内部对象进行例化,只要调用其中的方法就能实现特定的功能。JSP主要有如下内置对象:
l request 对象
l response 对象
l pageContext 对象
l session 对象
l application 对象
l out 对象
l config 对象
l page 对象
l exception 对象
下面分别介绍这些对象的使用。
2.2.1:request 对象
request对象代表请求的对象,它被包装成HttpServletRequest接口。通过getParameter方法可以得到request的参数,通过GET、POST、HEAD等方法可以得到request的类型,通过Cookies、Referer等方法可以得到请求的Http头。
Request的主要方法有:
1. isUserInRole(String role):判断认证后的用户是否属于逻辑role中的成员。
2. getAttribute(String name):返回由name指定的属性值,如果属性值不存在,则返回一个空值,即null。
3. getAttributeNames():返回request对象的所有属性的名字的集合,其结果是一个枚举的实例。
4. getCookies():返回客户端的所有Cookies对象,结果是一个Cookies数组。
5. getCharacterEncoding():返回请求中的字符编码方式。
6. getcontentLength():返回请求的Body的长度,如果不确定长度则返回-1。
7. getHeader(String name):获得Http定义的文件头信息。
8. getHeaders(String name):返回指定名字的request Header的所有值,其结果是一个枚举的实例。
9. getInputStream():返回请求的输入流,用于获得请求中的数据。
10. getMethod():获得客户端向服务器端传送数据的方法。
11. getParameter(String name):获得客户端传送给服务器端的参数值,该参数是由name指定的,通常是表单的控件的参数名。
12. getParameterNames(String name):获得客户端传送给服务器端的所有参数的名字,其结果是一个枚举的实例。
13. getParameterValues(String name):获得指定参数的所有值,参数由name指定。
14. getProtocol():获得客户端向服务器端传送数据所依据的协议名称。
15. getQueryString():获得查询字符串,该字符串是由客户端以get方法向服务器传送的。
16. getRequestURI():获取发出请求字符串的客户端地址。
17. getRemoteAddr():获取客户端的IP地址。
18. getRemoteHost():获取客户端的名字。
19. getSessoin([Boolean creater]):返回和请求相关的session。
20. getServerName():获取服务器的名字。
21. getServletPath():获取客户端所请求的脚本文件的文件路径。
22. getserverPort():获取服务器的端口号。
23. removeAttribute(String name):删除请求中的一个属性。
24. setAttribute(String name,java.lang.Object objt):设置名字为name的request参数的值,该值是由java.lang.Object类型的objt指定的。
2.2.2:response对象
response被包装成httpServletResponse接口。它封装了JSP产生的响应,然后被发送到客户端以响应客户的请求。
Response对象的主要方法有:
1. addCookie(Cookie cook):添加一个Cookie对象,用来保存客户端的用户信息。
2. addHeader(String name,String value):添加Http文件头信息,该Header将传到客户端去,如果已经存在同名的Header,则将会覆盖已有的Header。
3. containsHeader(String name):判断指定名字的Http文件头是否已经存在,然后返回真假布尔值。
4. encodeURL():使用sessionId来封装URL,如果没有必要封装URL,返回原值。
5. flushBuffer():强制把当前缓冲区的内容发送到客户端。
6. getBufferSize():返回缓冲区的大小。
7. getOutputStream():返回到客户端的输出流对象。
8. sendError(int):向客户端发送错误的信息。例如:404是指网页不存在或者请求的页面无效。
9. sendRedirect(String location):重定位地址,把地址转向location。
10. setContentType(String contentType):设置响应的MIME类型。
setHeader(String name,String value):设置指定名字的Http文件头的值,如果该值已经存在,则新值会覆盖原有的旧值。
2.2.3:pageContext 对象
pageContext对象被封装成javax.servlet.jsp.pageContext接口,它为JSP页在包装页面的上下文。管理对属于JSP中特殊可见部分中已命名的对象的访问。它的创建和初始化都是由容器来完成的。
PageContext对象中常用的方法有:
1. forward(java.lang.String relativeUrlPath):把页面重定向到另一个页面或者Servlet组件上。
2. getAttribute(java.lang.String name[,int scope]):scope参数是可选的。该方法用来检索一个特定的已经命名的对象的范围,并且还可以通过调用getAttributeNameInScope()方法,检索对某个特定范围的每个属性String字符串名称的枚举。
3. getException():返回当前的exception对象。
4. getRequest():返回当前的request对象。
5. getResponse():返回当前的response对象。
6. getServletConfig():返回当前页面的servletConfig对象。
7. getServletContext():返回ServletContext对象。这个对象对所有页面都是共享的。
8. getSession():返回当前页面的session对象。
9. findAttribute():该方法则可以用来按照页面、请示、会话对及应用程序范围的顺序实现对某个已经命名属性的搜索。
10. setAttribute():该方法可以用来设置默认页面范围或特定对象范围之中的已命名对象。
11. moveAttribute():该方法可以用来删除默认页面范围或特定对象范围之中的已命名对象。
2.2.4:session 对象
session对象用来保存每个用户的信息,以便跟踪每个用户的操作状态。其中,session信息保存在容器里,session的ID保存在客户机的Cookie中。一般情况下,用户首次登录系统时容器会给此用户分配一个惟一的标识的session id,这个Id用于区别其他的用户。当用户退出系统时,这个session就会自动消失。和session对应的是HttpSession接口。
Session对象的主要方法有:
1. getAttribute(String name):获取一与指定名字name相联系的属性值。
2. getAttributeNames():返回session对象中存储的每一个属性对象,其结果为一个枚举的实例。
3. getCreationTime():返回session被创建的时间,最小单位为千分之一秒。
4. getId():此方法返回惟一的标识,每个session的ID是不同的。
5. getMaxInactiveInterval():返回总时间(秒),负值表示session永远不会超时。它的值为该session对象的生存时间。
6. invalidate():销毁这个session对象,使得和它绑定的对象都失效。
7. isNew():如果客户端不接受使用session,那么每个请求中都会产生一个session对象。
8. removeAttribute(String name):删除与指定name相联系的属性。
9. setAttribute(String name,java.lang.Objecct value):设置指定名字name的属性值value,并将之存储在session对象中。
Session对象和客户端紧密联系在一起,它由容器自动创建。它的生命周期为用户的整个请求期间,当用户关闭请求它的浏览器时它会自动销毁。
2.2.5:application 对象
application为多个应用程序保存信息,对于一个容器而言,每个用户都共享使用一个application对象,这和session对象不一样。服务器启动后,就会自动创建application对象,这个对象一直会保持,直到服务器关闭为止。
Application对象的主要方法有:
1. getAttribute(String name):返回name指定的名字的application对象的属性的值。
2. getAttributeNames():返回由name指定的名字的application对象的某个属性的初始值。
3. getInitParameter(String name):返回由name指定的名字的application对象的某个属性的初始值。
4. getServletInfo():返回servlet编译器的当前版本的信息。
5. setAttribute(String name,Object object):设置由name指定名字的application对象的属性的值object
2.2.6:out 对象
Out对象被封装成javax.servlet.jsp.JspWriter 接口。它表示为客户打开的输出流,PrintWriter使用它向客户端发送输出流。简单地说,它主要用来向客户端输出数据。
它的主要方法有:
1. print()方法:该方法用于输出数据。
2. newLine()方法:该方法用于输出一个换行字符。
3. flush()::该方法用于输出缓冲区里的数据。
4. close():关闭输出流。
5. clearBuffer():该方法用于清除缓冲区里的数据,并把数据输出到客户端。
6. clear():该方法用于清除缓冲区里的数据,但不会把数据输出到客户端。
7. getBufferSize():该方法用于获得缓冲区的大小。
8. getRemaining():该方法用于获得缓冲区中没有被占用的空间的大小。
9. isAutoFlush():该方法返回布尔值,如果AutoFlush为真,则返回true,反之,返回false。
Out对象是JSP中使用最为频繁的对象,它的print()和println()方法使用更加常见,print()方法就是把Java对象原始数据类型输入到客户端的缓冲区,而println()方法除了把内容输出到客户端,还在后面添加一个空行。但这个空行被浏览器解析时忽略,要想真正在页面中换行,需要能过out.print(“<BR>”)方法来实现。
2.2.7:config 对象
config对象被封装成javax.servlet.ServletConfig接口,它表示Servlet的配置。当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet。
Config常用的方法有:
1. getServletContext():返回执行者的Servlet上下文。
2. getServletName():返回Servlet的名字。
3. getInitParameter(String name):返回名字为name的初始参数的值。
getInitParameterNames():返回这个JSP的所有的初始参数的名字。
2.2.8:page 对象
page对象是java.lang.Object类的一个实例。它指的是JSP实现类的实例,也就是说,它是JSP本身,通过这个可以对它进行访问。
2.2.9:exception 对象
exception对象是java.lang.Throwable类的一个实例。它指的是运行时的异常,也就是被调用的错误页面的结果,只有在错误页面才可以使用。也即要使用exception对象,必需在page指令指定isErrorPage=”true”。
原创粉丝点击