5.2  request对象

时间:2007-09-25 来源:IT在中国 编辑: 作者:IT在中国 [ ]
  request对象提供了对在客户请求中给出的信息的访问

5.2  request对象

request对象提供了对在客户请求中给出的信息的访问。Java服务器小程序容器将这些信息打包在一个对象中,该对象具有与协议有关的javax.servlet.ServletRequest的子类型。对于我们的目的,协议是HTTP,因此默认对象是javax.servlet.HttpServletRequest类型。其主要用于接受客户端通过http协议连接传输到服务器端的数据。它具有请求作用域,这意味着服务器小程序容器在请求时创建它,在请求完成时撤消它。

Request隐含变量是生成的服务器小程序的_jspService方法的一个形参。下面一段代码是从Tomcat JSP容器所生成的服务器小程序中提取的,它显不了这个参数:

//Request隐含对象是一个形参

Public void_jspservice(HttpServletRequest request,HttpServletResponse response)

          throws IOException,ServletException

5.2.1  常用方法

用户在使用request变量时,会通过它所引用的HttpServletRequest对象向JavaServer Pages提供了以下类型的服务:

  • 访问请求参数
  •  在请求作用域中管理属性
  • 获取cookie
  • 访问请求报头
  • 访问请求行元素
  • 访问安全信息
  • 访问国际化信息

HttpServletRequest对象包含了从当前JSP页的URL查询字符串得到的信息,可能还包从HTML表单传递来的URL数据信息。为方便学习首先我们了解request对象的常用的几种方法,如表5-2所示。

5-2  request对象常用方法

方法特征

用法

getCookies()

返回客户端的cookie对象,结果是一个cookie数组

public HttpSession getSession(boolean create)

取得会话对象,如果还没有会话实例,则创建新的

getHeader(String name)

获得http协议定义的传送文件头信息,如:request.getHeader(User-Agent)返回客户端浏览器的版本号、类型

getAttribute(String name)

返回name指定的属性值,若不存在指定的属性,就返回空值(null)

getattributeNames()

返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例

getHeaderNames()

返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例

getHeaders(String name)

返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例

getMethod()

获得客户端向服务器端传送数据的方法有GETPOSTPUT等类型

getParameter(String name)

获得客户端传送给服务器端的参数值,该参数由name指定

getparameterNames()

获得客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例

getParameterValues(String name)

获得指定参数所有值

getQueryString()

获得查询字符串,该串由客户端以GET方法向服务器端传送

getRequestURI()

获得发出请求字符串的客户端地址

getServletPath()

获得客户端所请求的脚本文件的文件路径

setAttribute(String name,Java.lang.Object o)

设定名字为namerequest参数值,该值由Object类型的o指定

getServerName()

获得服务器的名字

getServerPort()

获得服务器的端口号

getRemoteAddr()

获得客户端的IP地址

getRemoteHost()

获得客户端电脑的名字,若失败,则返回客户端电脑的IP地址

getProtocol()

获取客户端向服务器端传送数据所依据的协议名称,如http/1.1

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页


访问() 相关评论() 打印资源 返回顶部 加入收藏

最新评论