我想获取一个请求信息(发起发为手机)的所有头元素信息,该怎么获取啊?应该不能用servlet 的request.getHeaderNames()方法,因为试验过了,这个方法只能获取一些基本的信息,获不到用户自己加上去的HEADER元素,比如
移动那边发送了手机号的头信息:
 response.addHeader("x-up-calling-line-id","1358888888");
在这边用request.getHeaderNames()是获取不到"x-up-calling-line-id"的,用request.getHeader("x-up-calling-line-id")也获取不到,这点有点奇怪,可能移动那边不是这样设置头的。我现在想知道,我可以怎么样获取所有的HEAD信息?各位提提建议好吗?

解决方案 »

  1.   

    我也在找这个方法。
    不过我更关心的是如何向手机用户发送一个 200 OK 的返回。就是HTTP头部的那个200 OK。
    请问楼主知道么?
      

  2.   

    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");
    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 {
    doGet(request, response);
    }
    } 不知道有没有用