⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 处理httppostget请求.html

📁 自己平时从网上搜集的http协议解析文档
💻 HTML
📖 第 1 页 / 共 3 页
字号:
头部数据,也允许你获取客户端的数据。怎样获取这些数据取决于HTTP端请求方法。不管用任何HTTP方式,你都可以用
getParameterValues方法返回特定名称的参数值。对于用 HTTP GET
请求的方式,这个getQueryString方法将会返回一个可以用来分析的值。 </p>
<p>  客户端请求(request)包含了从客户端传递到Servlet的数据。所有的请求(request)都实现了ServletRequest接口。这个接口定义了一些方法访问下面的信息,如表14-1所示。 </p>
<p>  表14-1 ServletRequest接口方法</p>
<p>  ?型 描 述 对 应 方 法</p>
<p>  参数,用来在客户端和Servlet之间传送信息 getAttribute(String name) </p>
<p>   getAttributeNames() </p>
<p>   getInputStream() </p>
<p>   getParameter(String name) </p>
<p>  getParameterMap() </p>
<p>  getParameterNames() </p>
<p>  getParameterValues(String name)</p>
<p>  对象值属性,用来在Servlet容器和Servlet</p>
<p>  之间,或者协作的Servlet之间传递信息 removeAttribute(String name)</p>
<p>   setAttribute(String name, Object o)</p>
<p>  有关请求使用的协议信息,</p>
<p>  客户端和服务器在请求中的调用 getContentLength() </p>
<p>   getContentType() </p>
<p>   getProtocol() </p>
<p>  getReader() </p>
<p>  getRealPath(String path) </p>
<p>  getRemoteAddr() </p>
<p>  getRemoteHost() </p>
<p>   getRequestDispatcher(String path) </p>
<p>  有关请求使用的协议信息,</p>
<p>  客户端和服务器在请求中的调用 getScheme() </p>
<p>   getServerName()</p>
<p>   getServerPort() </p>
<p>   isSecure()</p>
<p>  有关localization的信息 getCharacterEncoding() </p>
<p>   getLocale() </p>
<p>   getLocales() </p>
<p>   setCharacterEncoding(String env)</p>
<p>  下面的代码段示范了如何使用request中的方法获得客户端信息。 </p>
<p>  Enumeration params = request.getParameterNames();</p>
<p>  String paramName = null;</p>
<p>  String[] paramValues = null;</p>
<p>  </p>
<p>  while (params.hasMoreElements()) {</p>
<p>  paramName = (String) params.nextElement();</p>
<p>  paramValues = request.getParameterValues(paramName);</p>
<p>  System.out.println(" Parameter name is " + paramName);</p>
<p>  for (int i = 0; i <paramvalues.length; p="" {="">&lt; i++)&gt;
</paramvalues.length;></p><p>   System.out.println(", value " + i + " is " + paramValues[i].toString());</p>
<p>  }</p>
<p>  </p>
<p>  HTTP Servlets使用HTTP request对象(HttpServletRequest),它包含了request URL、HTTP头信息、查询字符串,等等。HTTP request URL 包括几个部分:</p>
<p>  http://:? </p>
<p>  一般情况下: </p>
<p>  requestURI = contextPath + servletPath + pathInfo</p>
<p>  Context path:通过getContextPath方法获得。 </p>
<p>  Servlet Path:通过getServletPath方法获得。 </p>
<p>  PathInfo:通过getPathInfo方法获得。</p>
<p>    如表14-2所示。 </p>
<p>  表14-2 路径的对应</p>
<p>  Request Path Path Elements</p>
<p>  /catalog/help/feedback.jsp ContextPath: /catalog ServletPath: </p>
<p>   /help/feedback.jsp PathInfo: null</p>
<p>  提供HTTP响应 </p>
<p>  响应(response)包含了在服务器和客户端之间传递的数据。所有的响应(response)都实现了ServletResponse接口。这个接口定义了一些方法提供给开发人员使用,如表14-3所示。 </p>
<p>  表14-3 ServletResponse接口方法</p>
<p>  ?型 描 述 对 应 方 法</p>
<p>  获得向客户端发送数据的输出流 发送字符流:getWriter() </p>
<p>   发送字节流:getOutputStream()</p>
<p>  指示响应返回的内容类型(例如:text/html)</p>
<p>  已经注册的内容类型名称保存在IANA</p>
<p>  (Internet Assigned Numbers Authority) setContentType(java.lang.String type)</p>
<p>  指出是否是缓冲输出。默认情况下写入输出的</p>
<p>  内容被立即发送到客户端。使用缓冲后写入输出的内容先</p>
<p>  不发送到客户端,这样Servlet有更多的时间设置相应的</p>
<p>  状态码和头信息,或者转移到其他的Web资源 flushBuffer() </p>
<p>   getBufferSize() </p>
<p>   isCommitted() </p>
<p>   reset() </p>
<p>   resetBuffer() </p>
<p>   setBufferSize(int size) </p>
<p>   setContentLength(int len)</p>
<p>  设置localization信息 getCharacterEncoding() </p>
<p>   getLocale()</p>
<p>   setLocale(java.util.Locale loc)</p>
<p>  HTTP response类(HttpServletResponse)有一些代表HTTP头信息的域:</p>
<p>  </p>
<p>  状态码用来指出响应(response)失败的原因。 </p>
<p>  Cookies在客户端存储应用相关的信息,有时cookies用来维护和标识用户的session。 </p>
<p>  Servlet首先设置响应(response)头信息,包括响应(response)的内容类别和缓冲区大小,然后在doGet方法中从响应
(response)获得PrintWriter
,最后向输出中写入HTML代码,调用close()方法提交这次对客户端的响应(response)。示范代码如下: </p>
<p>  public void doGet (HttpServletRequest request,</p>
<p>  HttpServletResponse response)</p>
<p>  throws ServletException, IOException </p>
<p>  </p>
<p>  // 设置头信息</p>
<p>  response.setContentType("text/html");</p>
<p>  response.setBufferSize(8192);</p>
<p>  PrintWriter out = response.getWriter();</p>
<p>     </p>
<p>  // 向response中输出</p>
<p>  out.println("" +</p>
<p>   "");</p>
<p>  ... </p>
<p>  out.println("");</p>
<p>  // 关闭输出流</p>
<p>  out.close();</p>
<p>}</p><div class="pages"></div></div><div class="fix"></div></div>
			
			
			
			
			<div class="zd_row">
				<h2 class="tody_tt">推荐阅读与&nbsp;&nbsp;<a href="http://soft.zdnet.com.cn/software_zone/list-0-0-73638-1-1.htm" target="_blank">hugetlbfs</a>&nbsp;&nbsp;<a href="http://soft.zdnet.com.cn/software_zone/list-0-0-49933-1-1.htm" target="_blank">PostgreSQL</a>&nbsp;&nbsp;<a href="http://soft.zdnet.com.cn/software_zone/list-0-0-54354-1-1.htm" target="_blank">Postini</a>&nbsp;&nbsp;<a href="http://soft.zdnet.com.cn/software_zone/list-0-0-58571-1-1.htm" target="_blank">HTTP</a>&nbsp;&nbsp;&nbsp;&nbsp;相关软件内容</h2>
				<div class="observ_box"><div class="observ"><div class="observ_sub"><h3 class="obs_tt">相关软件资讯</h3></div><ul class="h_line arti_f"><li><a href="http://soft.zdnet.com.cn/software_zone/2007/0710/417577.shtml" target="_blank">Google6.25亿美元收购Postini</a></li></ul></div></div>
				<div class="observ_box no_bor"><div class="observ_box no_bor"><div class="observ_sub"><h3 class="obs_tt">相关软件技术文章</h3></div><ul class="h_line arti_f"><li><a href="http://soft.zdnet.com.cn/software_zone/2007/0818/459890.shtml" target="_blank">让远程服务更简单 SSL VPN全面解析</a></li><li><a href="http://soft.zdnet.com.cn/software_zone/2007/0816/458549.shtml" target="_blank">IIS使用十大原则</a></li><li><a href="http://soft.zdnet.com.cn/software_zone/2007/0816/458531.shtml" target="_blank">IIS 6架设网站常见问题及症状答疑</a></li><li><a href="http://soft.zdnet.com.cn/software_zone/2007/0816/458518.shtml" target="_blank">IIS FAQ常见问题解答</a></li><li><a href="http://soft.zdnet.com.cn/software_zone/2007/0816/458509.shtml" target="_blank">IIS 错误代码大汇总</a></li><li><a href="http://soft.zdnet.com.cn/software_zone/2007/0814/455710.shtml" target="_blank">IIS6.0服务器架站无法访问解决方案总结</a></li><li><a href="http://soft.zdnet.com.cn/software_zone/2007/0807/446590.shtml" target="_blank">网页HTML代码中Meta标签详解</a></li></ul></div></div>
				<div class="fix"></div>
			</div><!--/zd_row-->
			
			
			


<!--评论回复-->
	<div id="pinglun_tag" class="text00001">评论回复</div>
	<div id="textul">
	    <ul>
	    		</ul>
	</div>
	<!--评论回复-->
	
	
<div class="zd_row bu_bg">
<script src="%B4%A6%C0%EDHTTPPOSTGET%C7%EB%C7%F3_files/validate.js"></script>
<h1 class="theme">
<span>我要对本文&nbsp;&nbsp;
				&nbsp;&nbsp;发布评论</span></h1>
				<form action="/i/software_zone/div/story_comment_submit.php" method="post" name="form1" onsubmit="return Validate(this,'')">					<textarea cols="80" rows="5" class="specialtext1" name="comment" validator="NotEmptyToo" errmsg="请输入正文"></textarea>
					<div class="yz_code">验证码:(必填)<input name="validateCode" class="specialtext1" size="16" validator="NotEmptyToo" errmsg="请输入验证码" type="text">&nbsp;<img src="%B4%A6%C0%EDHTTPPOSTGET%C7%EB%C7%F3_files/validateCode.png"><input name="" value="发表评论" type="submit">&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://bbs.zdnet.com.cn/index.php?gid=43" target="_blank">到软件社区去看看</a></div>
					<input name="document_id" value="498635" type="hidden">
					<input name="cflag" value="1" type="hidden">
				</form>
				
				<div class="fix"></div>
			</div>
			
			
			<div class="zd_row bu_bg">
				<h1 class="theme"><span>软件频道热门栏目推荐</span></h1>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -