如何处理HTTP POST/GET请求
2008-01-05 08:59:13 来源:WEB开发网在前面已经讲过Servlet通过下面的方法来提供服务:
实现service方法。
实现HttpServlet的doMethod方法(doGet、doDelete、doOptions、 doPost、doPut、doTrace)。
通常,service方法用来从客户请求(request)中提取信息,访问扩展资源,并基于上面的信息提供响应(response)。
对于HTTP Servlets,正确提供响应的过程是首先填写响应(response)的头信息,然后从响应(response)中得到输出流,最后向输出流中写入内容信息。响应(response)头信息必须最先设置。下面将描述如何从请求(request)中获得信息和产生HTTP响应(response)。
取得客户端请求
一个HttpServletRequest对象提供到达HTTP 头部数据,也答应你获取客户端的数据。怎样获取这些数据取决于HTTP端请求方法。不管用任何HTTP方式,你都可以用 getParameterValues方法返回特定名称的参数值。对于用 HTTP GET 请求的方式,这个getQueryString方法将会返回一个可以用来分析的值。
客户端请求(request)包含了从客户端传递到Servlet的数据。所有的请求(request)都实现了ServletRequest接口。这个接口定义了一些方法访问下面的信息,如表14-1所示。
表14-1 ServletRequest接口方法
类 型 描 述 对 应 方 法
参数,用来在客户端和Servlet之间传送信息 getAttribute(String name)
getAttributeNames()
getInputStream()
getParameter(String name)
getParameterMap()
getParameterNames()
getParameterValues(String name)
对象值属性,用来在Servlet容器和Servlet
之间,或者协作的Servlet之间传递信息 removeAttribute(String name)
setAttribute(String name, Object o)
有关请求使用的协议信息,
客户端和服务器在请求中的调用 getContentLength()
getContentType()
getPRotocol()
getReader()
getRealPath(String path)
getRemoteAddr()
getRemoteHost()
getRequestDispatcher(String path)
有关请求使用的协议信息,
客户端和服务器在请求中的调用 getScheme()
getServerName()
getServerPort()
isSecure()
有关localization的信息 getCharacterEncoding()
getLocale()
getLocales()
setCharacterEncoding(String env)
下面的代码段示范了如何使用request中的方法获得客户端信息。
更多精彩
赞助商链接