Servlet提供服务的方法1-了解servlet

Servlet 通过下面的方法来提供服务:

l         实现 service 方法。

l         实现 HttpServlet doMethod 方法( doGet doDelete doOptions doPost doPut doTrace )。

通常, service 方法用来从客户请求( request )中提取信息,访问扩展资源,并基于上面的信息提供响应( response )。

对于 HTTP Servlets 正确提供响应的过程

1.         首先填写响应( response )的头信息, 响应( response )头信息必须最先设置。

2.         然后从响应( response )中得到输出流,

3.         最后向输出流中写入内容信息。

下面将描述如何从请求( request )中获得信息和产生 HTTP 响应( response )。

取得客户端请求

一个 HttpServletRequest 对象提供到达 HTTP 头部数据,也允许你获取客户端的数据。怎样获取这些数据取决于 HTTP 端请求方法。不管用任何 HTTP 方式,你都可以用 getParameterValues 方法返回特定名称的参数值。对于用 HTTP GET 请求的方式,这个 getQueryString 方法将会返回一个可以用来分析的值。

客户端请求( request )包含了从客户端传递到 Servlet 的数据。所有的请求( request )都实现了 ServletRequest 接口。这个接口定义了一些方法访问下面的信息,

l         类型描述 : 参数,用来在客户端和 Servlet 之间传送信息

对应方法 :

getAttribute(String name)

getAttributeNames()

getInputStream()

getParameter(Stringname)

getParameterMap()     

getParameterNames()

getParameterValues(String name)

l         类型描述 : 对象值属性,用来在 Servlet 容器和 Servlet 之间,或者协作的 Servlet 之间传递信息     

对应方法 :

removeAttribute(String name)

setAttribute(String name, Object o)

l         类型描述 : 有关请求使用的协议信息,客户端和服务器在请求中的调用    

对应方法 :

getContentLength()

getContentType()

getProtocol()

getReader()

getRealPath(String path)

getRemoteAddr()

getRemoteHost()

getRequestDispatcher(String path)

l         类型描述 : 有关请求使用的协议信息,客户端和服务器在请求中的调用       

对应方法 :

getScheme()

getServerName()

getServerPort()

isSecure()

l         类型描述 : 有关 localization 的信息        

对应方法 :

getCharacterEncoding()

getLocale()

getLocales()

setCharacterEncoding(String env)

下面的代码段示范了如何使用 request 中的方法获得客户端信息。

Enumeration params = request.getParameterNames();

String paramName = null;

String[] paramValues = null;

while (params.hasMoreElements()) {
    paramName = (String) params.nextElement();
    paramValues = request.getParameterValues(paramName);
    System.out.println(" Parameter name is " + paramName);
    for (int i = 0; i < paramValues.length; i++) {
      System.out.println(", value " + i + " is " + paramValues[i].toString());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值