JSP页面作为Tomcat上的CSS文件

我想要一个css文件,它实际上是一个jsp页.原因之一是我想使用c:url标记使图像的路径与上下文无关.

到目前为止,我只发现可以在server.xml中进行设置.但是我只需要在我的webapp中使用它,而不需要在服务器范围内使用.

更新:将内容类型设置为text / css当然可以.但这仍然给我留下了style.jsp,而我希望文件被命名为style.css.原因之一是Eclipse的语法高亮显示和自动完成功能可以正常工作.

最佳答案
文件扩展名实际上是无关紧要的.关键是HTTP Content-Type标头.浏览器使用此信息以适当的方式处理响应.

将其放在您的CSS JSP文件顶部:

<%@ page contentType="text/css" %>

而已.

如果您不手动设置HTTP Content-Type标头,则设置Content-Type标头的工作将由servlet容器/ Web服务器接管.然后,此部分将嗅探文件扩展名以设置适当的标头.

更新:根据您的更新,无论如何您都想使用.css扩展名来利用IDE的突出显示和自动补全功能.然后还有另一种方法:将CSS文件映射到JspServlet的servlet名称上,因为它是在特定的servlet容器中定义的.对于Tomcat,通常是jsp.

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>/style.css</url-pattern>
</servlet-mapping>

但是,您应该考虑到Webapp的行为现在将取决于所涉及的servlet容器.可能存在不使用jsp作为servlet名称的servlet容器.

相关文章

Css常用的排序方式权重分配 排序方式: 1、按类型&#160;...
原文:https://www.cnblogs.com/wenruo/p/9732704.html 先上...
css属性:word-wrap:break-word; 与 word-break:break-all 的...
https://destiny001.gitee.io/color/
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML...
css之background的cover和contain的缩放背景图 对于这两个属...