我有一个 javax.servlet.Filter 类,我想重定向 url。问题是当我打电话时
httpResponse.sendRedirect("http://myurl/login.jsp")
return;
它不会重定向到那里。我可以从 firebug 网络控制台看到请求匹配正确的 url,但页面没有改变,当前地址栏 url 保持不变。
该请求看起来有效。
Request URL:http://myurl/login.jsp
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Host:localhost:7001
Referer:http://myurl/index.jsp
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19
X-Requested-With:XMLHttpRequest
Response Headersview source
Content-Language:en-US
Content-Length:764
Content-Type:text/html; charset=ISO-8859-1
Date:Fri, 27 Apr 2012 16:49:55 GMT
X-Powered-By:Servlet/3.0 JSP/2.2
响应包含 login.jsp 的内容
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
...
</body>
</html>
我试过使用
request.getRequestDispatcher("/login.jsp").forward(request, response);
这根本行不通,正如我在 Firebug 中看到的那样,它请求我当前所在的 url。