五、读取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网友发表了评论 查看完整内容