1.request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
request:得到页面上用户的请求对象,form表单中的数据,头部信息。
当转发(include和forward)的时候,一般将要显示的数据,作为request的属性。
方法:
1. object getAttribute(String name) 返回指定属性的属性值
2. Enumeration getAttributeNames() 返回所有可用属性名的枚举
3. String getCharacterEncoding() 返回字符编码方式
4. int getContentLength() 返回请求体的长度(以字节数)
5. String getContentType() 得到请求体的MIME类型
6. ServletInputStream getInputStream() 得到请求体中一行的二进制流
7. String getParameter(String name) 返回name指定参数的参数值
8. Enumeration getParameterNames() 返回可用参数名的枚举
9. String[] getParameterValues(String name) 返回包含参数name的所有值的数组
10.String getProtocol() 返回请求用的协议类型及版本号
11.String getScheme() 返回请求用的计划名,如:http.https及ftp等
12.String getServerName() 返回接受请求的服务器主机名
13. int getServerPort() 返回服务器接受此请求所用的端口号
14. BufferedReader getReader() 返回解码过了的请求体
15. String getRemoteAddr() 返回发送此请求的客户端IP地址
16. String getRemoteHost() 返回发送此请求的客户端主机名
17. void setAttribute(String key,Object obj) 设置属性的属性值
18. String getRealPath(String path) 返回一虚拟路径的真实路径
2.session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
为什么要用到Session对象?
因为现在使用的协议是http协议,http超文本传输协议,这些协议有一个很大的缺点:浏览器端往服务端发送一个请求的时候,会和服务建立连接,当服务接受请求,并处理返回响应信息后,会与浏览器端断开连接,当下一次在往服务器发送请求的时候,服务器端就无法判断是哪一个用户发送的请求。 在这种情况下就开始使用Session对象来存储用户的信息。 当用户第一次往服务器发送请求,服务器会创建一个Session对象,并给该Session对象分配一个唯一的ID号,服务器会将该ID存储一份到服务器端,将另外一份作为响应的数据发送给浏览器端,浏览器将ID存入到浏览器的进程中。每下一次发送请求的时候,会将ID一起发给服务器,服务器根据ID来判断是哪一个用户发送的请求。
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)
3.application对象
application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。 该对象一般用来存储全局的信息,必须网站访问量,登录人数,每日的浏览量。
方法:
1. Object getAttribute(String name) 返回给定名的属性值
2. Enumeration getAttributeNames() 返回所有可用属性名的枚举
3. void setAttribute(String name,Object obj) 设定属性的属性值
4. void removeAttribute(String name) 删除一属性及其属性值
5. String getServerInfo() 返回JSP(SERVLET)引擎名及版本号
6. String getRealPath(String path) 返回一虚拟路径的真实路径
7. ServletContext getContext(String uripath) 返回指定WebApplication的application对象
8. int getMajorVersion() 返回服务器支持的Servlet API的最大版本号
9. int getMinorVersion() 返回服务器支持的Servlet API的最大版本号
10. String getMimeType(String file) 返回指定文件的MIME类型
11. URL getResource(String path) 返回指定资源(文件及目录)的URL路径
12. InputStream getResourceAsStream(String path) 返回指定资源的输入流
13. RequestDispatcher getRequestDispatcher(String uripath) 返回指定资源的RequestDispatcher对象
14. Servlet getServlet(String name) 返回指定名的Servlet
15. Enumeration getServlets() 返回所有Servlet的枚举
16. Enumeration getServletNames() 返回所有Servlet名的枚举
17. void log(String msg) 把指定消息写入Servlet的日志文件
18. void log(Exception exception,String msg) 把指定异常的栈轨迹及错误消息写入Servlet的日志文件
19. void log(String msg,Throwable throwable) 把栈轨迹及给出的Throwable异常的说明信息 写入Servlet的日志文件
三个对象常用的方法:
1.setAttribute(key,value);//将数据或者对象设置 request,session, application的属性
2.getAttribute(key);//获取属性的值
3.removeAttribute(key);//删除属性
1. response 响应对象
2.Exception 异常对象
3.page 当前页面
4.pageContext 页面上下文
5.out 输出流对象
6.Config 配置初始变量