为了支持我们在Servlet过滤器中添加的所有UTF-8字符
servletResponse.setContentType("text/html; charset=" + "UTF-8");
servletRequest.setCharacterEncoding(servletResponse.getCharacterEncoding());正因为如此,它将所有文件类型和css的内容类型设置为"text\html“,并且browser拒绝在浏览器as上加载它的css错误。
Resource interpreted as Stylesheet but transferred with MIME type text/html:但上面的内容在jboss 6中有效,我尝试设置
<servlet-container name="default">
<jsp-config mapped-file="false" development="true"/>
<websockets/>
<mime-mappings>
<mime-mapping name="css" value="text/css"/>
<mime-mapping name="msi" value="application/x-msi"/>
</mime-mappings>
</servlet-container>在standalone-full.xml中,但这不起作用。它如何自动识别文件内容类型?
发布于 2017-08-20 01:15:20
您的servlet过滤器确实不是支持所有UTF-8字符的最佳答案,正如您所注意到的,这种选择很奇怪,但我不会讨论它,因为这不是您的问题。
因此,如果您需要servlet过滤器不与text/html以外的其他内容交互,只需使用servlet过滤器url模式即可。
例如,您可以具有如下servlet筛选器定义:
<filter>
<filter-name>MyServletFilter<filter-name>
<filter-class>[...]</filter-class>
<init-param>
[...]
</init-param>
</filter>
<filter-mapping>
<filter-name>MyServletFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>当然,您需要检查此模式是否符合您的目录结构和其他访问动态text/html内容的方法。
因此,像http://myserver.com/myapp/myservlet/staticcontent/file.xls这样的资源不会被您的特定过滤器更改。
https://stackoverflow.com/questions/45613145
复制相似问题