我在Tomcat服务器中部署了Spring应用程序(使用Spring Security和Spring MVC)。该应用程序在Firefox,Chrome,Opera和IE9中运行良好。
IE8有一个奇怪的问题。登录屏幕加载,并且(我在服务器日志中可以看到)会话在提供用户名和密码时打开。一旦用户被登录,并且浏览器被重定向到主页面,服务器就会返回404错误。
由于IE8开发人员工具没有网络面板,我使用Fiddler来监控http连接。我认为可能会发生在页面加载过程中它正在执行错误的请求,但它是主页请求,它正在响应404.
服务器如何通过404响应主页请求仅在IE8中响应?
谢谢。
编辑:
这些分别是IE8和Firefox的请求标题:
GET /myWebApp/ HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: es-ES
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; .NET4.0C; .NET4.0E)
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
Host: dev.mydomain.com
Connection: Keep-Alive
Cookie: JSESSIONID=ABA1382304002F894ABDFCC2442FA5F8; SPRING_SECURITY_REMEMBER_ME_COOKIE=NGUxMTZlOTY3OGM0OTgxNDY4NDczOTlkOjEzMjQ1ODMwMzU0MDI6OWZiYzdhYjY1ODY2Mzc3YmI0Yzc5YTMzMWI5NDhjNTg
-
GET /myWebApp/ HTTP/1.1
Host: dev.mydomain.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,chrome://global/locale/intl.properties;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Cookie: JSESSIONID=7FD3B02252E2FCBC9BE7249AFD84F541; SPRING_SECURITY_REMEMBER_ME_COOKIE=NGUxMmYxMTgzMmRjZTM0NzYyMWVjOWEwOjEzMjQ1ODMwMTA1MTU6MzFiYzU4OGQ4NTMwN2Y3M2I4YmQzN2M0NzY2MzcwZjI
答案 0 :(得分:1)
知道问题是关于“接受”我修改了MVC控制器类映射,我最终发现了这个问题。不知何故,这是主页在MVC中映射的方式,因此它不适用于IE8头属性:
@RequestMapping( value = "/", headers = "Accept=text/*" )
我今天学到了很多教训。 ; - )