修改:
我有一个包含以下HTML代码的页面:
<img src="/static/ads/1111.png"> <!-- 1 -->
<img src="/static/2222.png"> <!-- 2 -->
加载页面时,无法显示1号图像。显示图像2。
在Chrome DevTools的网络标签中检查图像请求,请求始终处于“待处理”状态。
甚至更奇怪的是,当我直接访问http://localhost:8080/static/ads/1111.png
中的图像编号1时,图像实际上会加载。
此问题似乎只会影响Google Chrome。我在Firefox中进行了测试,它在那里工作。
对于Chrome,我收到控制台错误:
Port error: Could not establish connection. Receiving end does not exist.
当我比较图像1的请求标题时
Cache-Control:no-cache
Pragma:no-cache
Referer:http://localhost:8181/index.html
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31
vs Image No.2
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
Cache-Control:no-cache
Connection:keep-alive
Host:localhost:8181
Pragma:no-cache
Referer:http://localhost:8181/index.html
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31
有很大的不同。有谁知道发生了什么事?
更多信息
我正在使用BalusC的FileServlet来提供在我的网络应用目录之外找到的文件。
我的网络应用使用Struts2作为其框架。
我的web.xml:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>fileServlet</servlet-name>
<servlet-class>com.FileServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>fileServlet</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
我已经在struts.xml中排除了这条路径,如下所示:
<constant name="struts.action.excludePattern" value="/static/.*"/>
答案 0 :(得分:3)
来自JB Nizet:
你确定你没有使用一些过滤掉fom ** / ads / **图像的广告拦截插件吗?