This Domain(Admin5.com) is for Sale:

五、读取HTTP请求头

时间:2007-10-22  来源:不详  作者:林子


   除了读取指定的头之外,利用getHeaderNames还可以得到请求中所有头名字的一个Enumeration对象。

   最后,除了查看请求头信息之外,我们还可以从请求主命令行获得一些信息。getMethod方法返回请求方法,请求方法通常是GET或者POST,但也有可能是HEAD、PUT或者DELETE。getRequestURI方法返回URI(URI是URL的从主机和端口之后到表单数据之前的那一部分)。getRequestProtocol返回请求命令的第三部分,一般是“HTTP/1.0”或者“HTTP/1.1”。

   5.3 实例:输出所有的请求头

   下面的Servlet实例把所有接收到的请求头和它的值以表格的形式输出。另外,该Servlet还会输出主请求命令的三个部分:请求方法,URI,协议/版本。


   ShowRequestHeaders.java
package hall;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

public class ShowRequestHeaders extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");

dedecms.com


PrintWriter out = response.getWriter();
String title = "显示所有请求头";
out.println(ServletUtilities.headWithTitle(title)
"<BODY BGCOLOR=\"#FDF5E6\">\n"
"<H1 ALIGN=CENTER>" title "</H1>\n"
"<B>Request Method: </B>"
request.getMethod() "<BR>\n"
"<B>Request URI: </B>"
request.getRequestURI() "<BR>\n"
"<B>Request Protocol: </B>"
request.getProtocol() "<BR><BR>\n"
"<TABLE BORDER=1 ALIGN=CENTER>\n"
"<TR BGCOLOR=\"#FFAD00\">\n"
"<TH>Header Name<TH>Header Value");
Enumeration headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()) {
String headerName = (String)headerNames.nextElement();
out.println("<TR><TD>" headerName);
out.println(" <TD>" request.getHeader(headerName));
}
out.println("</TABLE>\n</BODY></HTML>");
}

public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

看完这篇,您有何感觉呢?

上一篇:七、HTTP应答状态   下一篇:六、访问CGI变量

文章评论

共有位Admini5网友发表了评论 查看完整内容