a.jsp   页面代码 
<%@   page   contentType="text/html;   charset=utf-8"   language="java"   import="java.sql.*"   errorPage="exception.jsp"   %> 
<% 
String   aa="   dfdsfds"; 
out.print(Integer.parseInt(aa)); 
%> 发生错误就会调用exception.jsp 
我想在exception.jsp页面中得到a.jsp页面的地址[最好是物理地址!] 
用request.getHeader("Referer");得出来的是null,用request.getContextPath();得到的是exception.jsp的地址 
用js   location.href得到正确a.jsp地址 
为什么     request.getHeader("Referer");得到的是null啊???崩溃了     这个数据我要存到库里不能用js写啊!!!是不是tomcat设置问题啊!!我记得以前正常的!

解决方案 »

  1.   

    因为刚学习jsp 楼上的可否详细点 最好来个例子  呵呵
      

  2.   

    我记得是 request.getHeader("referer"); 啊!!!
    请用一下!
      

  3.   

    request.getHeader("referer");   一样的哦@@@@   老紫竹5点多就起来~~~~
      

  4.   

    呵呵 可能用户压根就没发refer这个属性阿
    还有http头是大小写敏感的。
    request.getHeader("referer");×
    =>
    request.getHeader("Referer");○
      

  5.   

    sorry 问题理解错误,我给出解决方案
    <%=request.getAttribute("javax.servlet.forward.request_uri") %>请在 errorpage 里面运行如下代码,就可找到你要的任何东西<%
    System.out.println("Header....");
    Enumeration<String> e = request.getHeaderNames();
    String key;
    while(e.hasMoreElements()){
      key = e.nextElement();
      System.out.println(key+"="+request.getHeader(key));
    }
    System.out.println("Attribute....");
    e = request.getAttributeNames();
    while(e.hasMoreElements()){
      key = e.nextElement();
      System.out.println(key+"="+request.getAttribute(key));
    }System.out.println("Parameter....");
    e = request.getParameterNames();
    while(e.hasMoreElements()){
      key = e.nextElement();
      System.out.println(key+"="+request.getParameter(key));
    }
    %>
      

  6.   

    我这里test.jsp抛出异常,errorpage是 error.jsp
    我给一个结果
    Header....
    accept=*/*
    accept-language=zh-cn,en;q=0.5
    ua-cpu=x86
    accept-encoding=gzip, deflate
    user-agent=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; MAXTHON 2.0)
    host=127.0.0.1
    connection=Keep-Alive
    cache-control=no-cache
    cookie=username=zhaoxq; userType=0; JSESSIONID=C018BA3192849868F39BCE3593DB80E9
    Attribute....
    javax.servlet.forward.request_uri=/sales/test.jsp
    javax.servlet.forward.context_path=/sales
    javax.servlet.forward.servlet_path=/test.jsp
    javax.servlet.jsp.jspException=java.lang.Exception: test
    javax.servlet.error.status_code=500
    javax.servlet.error.servlet_name=jsp
    javax.servlet.error.exception=java.lang.Exception: test
    javax.servlet.error.request_uri=/sales/test.jsp
    Parameter....
      

  7.   

    谢谢老紫竹  <%=request.getAttribute("javax.servlet.forward.request_uri")   %> 
    解决了我的问题,你下面给出的代码使我的错误信息详细多了 非常感谢  不过我这里要out.println才能输出哦  System不用哦!  我还要好好学习啊~~~~