how can i have access to my files that placed in WEB-INF folder

你说的曾经没有我的故事 提交于 2019-12-02 13:59:25

问题


i'm new to java and have a strange problem. i create some folder(theme, js, css) in WEB-INF folder and put my files to this folders. in index.jsp i use a css file by following way:

<style type="text/css"> 
        <%@include file="WEB-INF/css/style.css" %>
 </style>

it works good. but in style.css file i have a div tag that set a background for header tag by following way:

#header{
background: url(../theme/violet/header.jpg) repeat-x;
}

oh. my problem is here. it doesn't work. since other css command work very good. i know that WEB-INF detail aren't accessible but may there is a way like the way that i use for link style.css in my index.jsp page.

any solution? thanks.


回答1:


From the way you include style.css, I guess your index.jsp is outside the WEB-INF folder which can be accessed directly by client browser. The reason the included style.css works fine is because it is included on the server-side. But in the style.css, to get the background image, the browser will launch a new connect to the image which happens to be inside the WEB-INF folder and the server refuse to send it back and you are doomed.

If you have a centralized controller servlet, you can put your jsps inside the WEB-INF folder to prevent it from accessed directly. Your servlet will redirect all request to appropriate jsp according to request parameters.

As far as I can tell, there is no absolute reason to put images, JavaScripts etc inside this folder, you will definitely run into problems when the browser need to access this folder to retrieve data.




回答2:


That is not possible. If you want content directly accessible from a browser it can not reside inside WEB-INF.




回答3:


Why you create theme, js, css in WEB-INF Folder? WEB-INF directory contains metadata about the application. During normal operations, you should not need to modify anything under the WEB-INF directory.

you can create theme, js, css folder under war or WebContent directory directly it will easy to use in your jsp pages.

this link will help you.



来源:https://stackoverflow.com/questions/10437565/how-can-i-have-access-to-my-files-that-placed-in-web-inf-folder

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!