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设置问题啊!!我记得以前正常的!
<%@ 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设置问题啊!!我记得以前正常的!
请用一下!
还有http头是大小写敏感的。
request.getHeader("referer");×
=>
request.getHeader("Referer");○
<%=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));
}
%>
我给一个结果
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....
解决了我的问题,你下面给出的代码使我的错误信息详细多了 非常感谢 不过我这里要out.println才能输出哦 System不用哦! 我还要好好学习啊~~~~