当前位置: 代码迷 >> Java Web开发 >> request.getHeader("Referer");获取不到地址解决方法
  详细解决方案

request.getHeader("Referer");获取不到地址解决方法

热度:592   发布时间:2016-04-17 11:12:25.0
request.getHeader("Referer");获取不到地址
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设置问题啊!!我记得以前正常的!

------解决方案--------------------
sorry 问题理解错误,我给出解决方案
<%=request.getAttribute("javax.servlet.forward.request_uri") %>

请在 errorpage 里面运行如下代码,就可找到你要的任何东西

Java code
<%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));}%>
  相关解决方案