资源描述:
《如何使用servlet处理客户端的请求及响应》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、如何使用Servlet从客户端获取请求信息:首先,让我们先来看一个请求的实例:GET/default.asp?username=zhangsanHTTP/1.1Accept:image/gif,image/x-xbitmap,image/jpeg,image/png,*/*Accept-Language:enConnection:Keep-AliveHost:www.neusoft.edu.cnUser-Agent:Mozilla/4.04[en](WinNT;I;Nav)Cookie:SITESERVER=ID=8dac8e0455f4890da220ada8b76f;ASPSESSIO
2、NIDGGQGGGAF=JLKHAEICGAHEPPMJKMLDEMAccept-Charset:iso-8859-1,*,utf-8从以上请求信息中,我们可以看出请求信息大致可以分成这样几类:第一类协议相关的信息,如使用的请求方法、请求使用的协议以及请求的资源地址等信息第二类是请求头信息,如Accept以及Accept-language等等头部信息第三类信息是用户组织的数据如username=zhangsan等信息因此从服务器的角度必须能够获取以上信息,也就是通过请求对象对应的方法要能够获取响应的请求信息第一类请求方法,获取协议相关的信息的方法:getProtocal():获取协议名称以
3、及版本信息getMethod();获取Http请求所使用的方法getRequestURI()获取请求的URIgetRequestURL()获取请求的URL下面我们看一个获取协议信息的示例:packageneusoft;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.h
4、ttp.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;/***ServletimplementationclassRequestServlet*/@WebServlet("/r1")publicclassRequestServletextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;/***@seeHttpServlet#HttpServlet()*/publicRequestServlet(){super();//TODOAuto-gen
5、eratedconstructorstub}/***@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponse*response)*/protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html;charset=UTF-8");PrintWriterout=response.getWriter(
6、);out.print("");out.print("
");out.print("");out.print("");out.print("请求使用的协议为:"+request.getProtocol()+"
");out.print("请求提交数据所使用的方法为:"+request.getMethod()+"
");out.print("请求的URI为:"+request.getRequestURI()+"
");out.print("请求的URL为:"+request.getRequestURL()+"
");ou
7、t.print("");out.print("");}/***@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponse*response)*/protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServlet