文件中
/WEB-INF不能直接公众开放。在的
Servlet帮助下,只有中间人(控制器)可以访问和流式传输它们
ServletContext#getResourceAsStream()。这正是Spring(与其他任何不错的MVC框架一样)对JSP文件所做的工作。您不能直接通过URL访问JSP文件。这可能会泄漏源代码或破坏应用程序的行为。
因此,这里基本上有2个选项:
将CSS文件放入公共网络内容中(只需在上方移动一个文件夹
WEB-INF
,以便与/css
处于同一级别/WEB-INF
)。创建一个Servlet,使用侦听
url-pattern
的/css/*
,从中获取请求的CSS文件,HttpServletRequest#getPathInfo()
并基本上InputStream
使用上述方法从中获取,然后沿着正确的响应标头集(至少包含和)ServletContext#getResourceAsStream()
将其写入OutputStream
响应的。Content-Type``Content-Length
毕竟,我认为选项1更容易且更适合您的要求;)



