我是新来的Java,有一个奇怪的问题。 我创建的WEB-INF文件夹中的一些文件夹(主题,JS,CSS),并把我的文件夹此。 在index.jsp中我用下面的方式CSS文件:
<style type="text/css">
<%@include file="WEB-INF/css/style.css" %>
</style>
它的作品好。 但在style.css的文件我有遵循的方式设置标题标签的背景div标签:
#header{
background: url(../theme/violet/header.jpg) repeat-x;
}
哦。 我的问题是在这里。 这是行不通的。 因为其他的CSS指挥工作非常好。 我知道,WEB-INF细节都不能访问,但可能有一个像我在我的index.jsp页面使用链接的style.css的生活方式。
任何解决方案? 谢谢。
从你的style.css包含的方式,我想你的index.jsp是可直接由客户端浏览器访问的WEB-INF文件夹之外。 附带的style.css正常工作的原因是因为它是包含在服务器端。 但在style.css中,获得背景图像,浏览器会推出一个新的连接到这恰好是在WEB-INF文件夹,并在服务器内部拒绝把它送回来,你是注定的图像。
如果你有一个集中控制器servlet,你可以把你的JSP的WEB-INF文件夹内,防止其直接访问。 你的servlet将根据请求参数所有请求重定向到适当的JSP。
据我所知,没有绝对的理由把图像,JavaScript等这个文件夹里面,你肯定会遇到问题时,浏览器需要访问这个文件夹来获取数据。
这是不可能的。 如果你想通过浏览器直接访问内容也不能驻留WEB-INF内。
为什么你创建theme, js, css
在WEB-INF
文件夹? WEB-INF
目录中包含有关应用程序的元数据。 在正常运行期间,你不应该需要修改WEB-INF目录下的任何内容。
您可以创建theme, js, css
文件夹下的war
或WebContent
目录直接就容易在JSP页面中使用。
这个链接会帮助你。