我们可以使用request.getHeader()方法得到请求行和请求的头信息,那如何
使用JSP如何得到响应的头信息呢。

解决方案 »

  1.   

    楼主的意思是希望有类似于request.getHeader()的response.getHeader()的方法吧?这个方法是没有的,因为HTTP Response是由客户端程序(如浏览器)接收的,而JSP是服务器端脚本,JSP只能设置Response Header而不能接受它。如果楼主确实想要得到Response Header的值,下面列举两种方式:1. 浏览器端http查看工具:如fireFox的HttpFox2. 可以另外写一个JSP页面(模拟客户端),向你希望获得Response Header的JSP页面发送一个请求,然后接受响应。可参考如下示例程序:import java.io.*;
    import java.net.*;public class Test1 {
    public static void main(String[] args) {
    String path = "/index.html";
    int port = 80;
    String host = "www.baidu.com";
    if (args.length > 0)
    path = args[0];
    if (args.length > 1)
    port = Integer.valueOf(args[1]).intValue();
    if (args.length > 2)
    host = args[2];
    try {
    Socket c = new Socket(host, port);
    BufferedWriter w = new BufferedWriter(new OutputStreamWriter(c.getOutputStream()));
    BufferedReader r = new BufferedReader(new InputStreamReader(c.getInputStream()));
    String m = "GET " + path + " HTTP/1.1";
    w.write(m, 0, m.length());
    w.newLine();
    w.newLine();
    w.flush();
    while ((m = r.readLine()) != null) {
    System.out.println(m);
    }
    w.close();
    r.close();
    c.close();
    } catch (IOException e) {
    System.err.println(e.toString());
    }
    }
    }