##1.request请求对象## 作用域:request
代表:来自客户端的请求,比如在form表单中填写的信息
方法:getParameter、getParameterNames、getParameterValues
getParameter:String getParameter(String name):确定参数只有一个value的时候,才能使用这个方法,如果参数包含多于一个值,使用getParameterValues方法
getParameter是getParameterValues方法的特例,表示请求参数值只有一个。从客户端把请求参数发送给服务器端。
##在多选框情况下,需要使用getParameterValues方法来获取用户所选择的多个复选框的值
getParameterNames返回枚举类型:Enumeration getParameterNames()
getParameterValues返回数组类型:String[ ]getParameterValues(String name)
setAttribute:void setAttribute(String name,Object o)
getAttribute:Object getAttribute(String name)——以对象的形式,返回特定名称的属性值,这个方法允许Servlet引擎给出一个客户请求的特定信息
以上两个方法完全是服务器端的事情,与客户端无关。与session对象中的set、getAttribute方法在使用时相同
getParameter与getAttribute、setAttribute方法的区别:
首先,并没有与getParameter相对应的setParameter,因为设置参数都是通过表单等方法在服务器端用户定义的。
而getAttribute和setAttribute都是成对出现的,首先通过setAttribute设置属性与属性值,然后通过getAttribute方法根据属性获取到与该属性对应的对象值(获取到之后一般都要进行向下类型转换,将属性值转换外真正的对象)
getAttribute和setAttribute都是在服务器端内部执行的,客户端不知道服务器端是否执行过这两个方法
getParameter方法的作用是获取到客户端通过表单或URL请求参数所发送过来的参数值,是客户端与服务器端之间的交互,服务器要想获取到客户端发送过来的数据,就要使用getParameter方法来获取
2.response响应对象
响应状态都是整数
SC_OK——200 请求成功处理
SC_NOT_FOUND——404 请求的资源不存在
3.pageContext页面上下文对象
代表:当前页面运行的一些属性
方法:findAttribute、getAttribute、getAttributeScope、getAttributeNamesInScope
##4.session会话对象## 作用域:session
代表:服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,不如在线购物、客户轨迹跟踪等
HTTP是无状态协议,是基于请求响应模式的无状态协议,它记不清上一次访问的用户之前是否登陆过访问过,Web Server对每一个客户端请求都没有历史记忆
Session用来保存客户端状态信息
方法:setAttribute、getAttribute
setAttribute:void setAttribute(String name,Object value)——把对象value和名字name绑定到session(会话)中
getAttribute:Object getAttribute(String name)——返回一个对象,这个对象是使用了指定的名字绑定到session中的对象
程序示例:
session1.jsp
session2.jsp
session3.jsp
一个现象:关闭浏览器再重新打开,session里面的东西就没了,失去作用
session——会话:与客户端之间的交互,各个客户端之间没有关系没有干扰
request的生存周期比session短,在同一个浏览器窗口中,无论向服务器发送多少个请求,session对象只有一个
5.application应用程序对象## 作用域:application
负责提供应用程序在服务器中运行时的全局信息
方法:getMimeType、getRealPath、getAttribute、setAttribute
getAttribute:Object getAttribute(String name)
setAttribute:void setAttribute(String name,Objectobject)
使用application对象实现网页计数器
application是范围最大的对象:只要服务器不关闭,服务器端只有这一个application对象
6.out输出对象
代表:向客户端发送数据的对象,与response对象不同,通过out对象发送的内容,是浏览器需要显示的内容,是文本级别的,可以通过out对象直接向客户端写一个由程序动态生成HTML文件
方法:print、println、clear、clearBuffer、flush、getBufferSize、getRemaining
因为out对象含有一个缓冲区,所以需要一些方法,对缓冲区进行操作
7.config配置对象
提供一些配置信息,以获得Servlet初始化时的参数
方法:getInitParameter、getInitParameterNames
8.page页面对象
代表:正在运行的由JSP文件产生的类对象,不建议使用
9.exception异常对象
代表:JSP问运行时产生的异常现象,不能在JSP文件中直接使用,只能在使用了<%@ page isErroePage = "true"%>的JSP文件中使用