web应用与开发知识梳理5——波里个波创作!

JSP内置对象

  • 1.request对象
  • 2.response对象
  • 3.session对象
  • 4.out对象
  • 5.pageContext对象
  • 6.exception对象
  • 7.application对象

JSP提供了一些由JSP容器实现和管理的内置对象,在JSP应用程序中不需要预先声明和创建这些对象就能直接使用,JSP程序人员不需要对这些内部对象进行实例化,只需要调用其方法就能实现特定的功能,使Java Web 编程更加快捷、方便。

1.request对象

客户端请求一个JSP页面时,服务器端会创建一个request对象并将客户端请求的信息封装到request对象中,当该请求处理完,该request对象将自动销毁。request对象提供的方法可以对封装的数据进行操作。

1.getParameter(String name)
用于获取表单提交的信息,以字符串形式返回客户端传来的某一个请求参数的值,该参数名由name指定。当传递给此方法的参数名没有实际参数与之对应时,返回null。
2.getParameterNames()
用于获取客户端传送给服务器端的所有参数值,其结果是一个Enumberation(枚举)实例。
3.getCharacterEncoding()
用于返回客户端请求中的字符编码方式。
4.getContentLength()
用于以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回-1。
5.getHeader(String name)
用于获取HTTP协议定义的文件头信息中指定名字的值。
6.getHeaderNames()
用于返回HTTP协议所有文件头信息,其结果是一个Enumberation实例。
7.getMethod()
用于获取客户端向服务器端传送数据的方法,如get、post等方法。
8.getProtocol()
用于获取客户端向服务器端传送数据所使用的协议名称。
9.getRequestURL()
用于获取客户端的URL地址。
10.getRemoteAddr()
用于获取客户端的IP地址。
11.getRemoteHost()
用于获取客户端的主机名字。
12.getServerName()
用于获取服务器的主机名字。
13.getServerPort()
用于获取服务器的端口号。
14.removeAttribute(String name)
用于删除请求中的一个属性。
15.setAttribute(String name,Object obj)
用于为request对象设置属性值。
16.getAttribute(String name)
用于返回name指定request对象的属性值,若不存在指定的属性,就返回null。
17.getAttributeNames()
用于返回request对象保持的所有属性值,其结果集是一个Enumeration实例。


2.response对象

response对象用于向客户端发送数据,用户可以使用该对象将服务器的数据以HTML格式发送到客户端,它与request组成了一对接受、发送数据的对象,这也是实现动态页面的基础。当服务器向客户端传送数据时,将把数据信息封装到response对象;当请求完成后response对象就会被自动销毁。可以通过response对象提供的方法对保存在该对象中的数据进行操作。

1.addCookie(Cookie cook)
用于给用户添加一个Cookie对象,保存客户端的相关信息。
2.addHeader(String name ,String value)
用于添加带有指定名称和字符串的HTTP文件头信息,该Header信息将传送到客户端,如果不存在就添加,存在就覆盖。
3.flushBuffer()
用于强制把当前缓冲区的所有内容发送到客户端。
4.getBufferSize()
用于获取缓冲区实际的大小,如果未使用缓冲区则返回0。
5.getCharacterEncoding()
用于获取响应的字符编码方式。
6.sendError()
用于向客户端发送错误信息,如404指网页找不到错误。
7.sendRedirect()
用于重定向客户端的请求
8.setCharacterEncoding()
用于设置响应的字符编码方式。
9.setContentLength()
用于设置响应内容的长度(字节数)。
10.setHeader()
用于设置指定名称和字符串的HTTP文件头信息,该Header信息将传送到客户端,如果不存在就添加,存在就设置。


3.session对象

session对象用于存储特定的用户会话所需要的信息,当用户在页面之间跳转时,存储在session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自页面时,如果该用户还没有会话,Web服务器将自动创建一个session对象。当会话过期或被放弃后,服务器将终止该会话。
session对象处理客户端与服务器的会话,从客户端连接到服务器开始,直到客户端与服务器断开连接为止。session对象用来保存每个用户的信息,以便跟踪每个用户的操作状态。
其中,session信息保存在容器里,session的ID保存在客户计算机的Cookie中。用户首次登录系统时容器会给用户分配一个唯一的sessionID标识用于区别于其他用户,这个ID是String类型的。当用户退出系统时,这个session就会自动消失。当重新打开浏览器再连接到该服务器时,服务器会为该用户再创建一个新的session对象。

1.getAttribute(String name)
用于获取与指定名字相联系的属性,如果属性不存在,将会返回null。
2.getAttributeNames()
用于返回session对象中存储的每一个属性对象,结果集是一个Enumeration类的实例。
3.getCreateTime()
用于返回session对象被创建的时间,单位为毫秒。
4.getId()
用于返回session对象在服务器端的编号。每生成一个session对象,服务器为其分配一个唯一的编号,根据编号来识别session,并且正确地处理某一特定的session及其提供的服务。
5.getLastAccessedTime()
用于返回和当前session对象相关的客户端最后发送请求的时间。
6.getMaxInactiveInterval()
用于返回session对象的生存时间,单位为秒。
7.setAttribute(String name,java.lang.Object value)
用于设定指定名字的属性值,并且把它存储在session对象中。
8.setMaxInactiveInterval(int interval)
用于设置session的有效时间,单位为秒。
9.removeAttribute(String name)
用于删除指定的属性(包含属性名、属性值)
10.isNew()
用于判断目前session是否为新的sessoin,若是则返回true,否则返回false。


4.out对象

out对象用来向客户端输出数据,同时可以管理应用服务器上的输出缓冲区。
1.print()/println()
用于输出数据。println()额外有个将输出的数据换行的作用。
2.newLine()
用于输出一个换行符,实现换行功能。
3.flush()
用于输出缓冲区里的数据。输出后会清除缓冲区中的数据。
4.clearBuffer()
先清除缓冲区中的数据,再输出到客户端。
5.clear()
只是清除缓冲区中的数据,不输出到客户端。
6.getBufferSize()
用于获取缓冲区的空间大小,默认大小是8KB,可以通过page指令中buffer属性来设置缓冲区大小。
7.getRemaining()
用于获取缓冲区剩余大小。
8.isAutoFlush()
用于判断是否自动刷新缓冲区。自动刷新返回true,否则返回false。
9.close()
用于关闭输出流。


5.pageContext对象

pageContext对象可以获取其他内置对象中的数据
1.getRequest()
用于返回当前页面的request对象。
2.getResponse()
用于返回当前页面的response对象。
3.getSession()
用于返回当前页面的session对象。
4.getOut()
用于返回当前页面的out对象。
5.getException()
用于返回当前页面的exception对象。
6.getServletContext()
用于返回当前页面的application对象。
7.findAttribute(String name)
用于按照页面、请求、会话以及应用程序范围的顺序实现对某个个已命名属性的搜索,返回其属性值或null。
8.forward(String relativeUrlPath)
用于把页面重定向到另一个页面或者Servlet组件上。
9.moveAttribute(String name)
用于删除默认页面范围或特定对象范围之中的已命名对象。
10.release()
用于释放pageContext所占资源。
11.include(String relativeUrlPath)
用于在当前位置包含另一个文件。
12.setAttribute(String name,Object attribute)
用于设置指定属性及属性值。
13.setAttribute(String name,Object obj,int scope)
用于在指定范围内设置指定属性及属性值。
14.getAttribute(String name,int scope)
用于在指定范围内获取指定属性的值。
15.getAttribute(String name)
用于获取指定属性的值。


6.exception对象

用来处理JSP文件的异常,当一个页面在运行过程中发生异常,则产生该对象。该对象可以配合page指令一起使用,page指令中的isErrorPage属性应设为true,要不然不能通过编译。
用exception中的方法指定一个错误的处理页面,所有的错误都集中在该页面进行处理。
1.getMessage()
用于返回描述异常错误的提示信息。
2.getlocalizedMessage()
用于获取本地化错误信息。
3.printStackTrace()
用于输出异常对象及其堆栈跟踪信息。
4.toString()
返回关于异常的简短描述信息。


7.application对象

application对象保存Web中的公有数据,可存放全局变量。服务器一旦启动后就会自动创建application对象,直到服务器关闭后才会失效,不同用户对该对象的同一属性可以进行操作,在任何地方对该属性的操作,都会影响其他用户对该对象的访问。
session和application的区别:
session:一个用户对应一个session对象
application:为多个应用程序保存信息,对于一个容器而言,在同一个服务器中的多个JSP文件共享同一个application对象。

1.getAttribute(String name)
用于返回指定application对象的属性值。
2.getAttributeNames()
用于以Enumeration类型返回application对象属性的所有值。
3.getServerInfo()
用于返回Servlet编译器的版本信息。
4.setAttribute(String name,Object obj)
用于设定application对象的指定属性及其属性值。
5.removeAttribute(String name)
用于删除application对象指定属性及其属性值。

你可能感兴趣的:(web应用与开发,java,html,web,jsp)