views:

1152

answers:

3

Hello

I am facing a problem when I move my JSP files along with CSS and JS files under WEB-INF/web/ directory. The problem is that, when a JSP page loads, it does not load CSS and JS files. Please help if you have any idea about it.

Thanks

Umar

A: 

WEB-INF is not web accessible, you need to put css/js into public_html(www) as browser loads them through http.

serg
+3  A: 

Unless you want to write controllers to serve the css/js files in the WEB-INF folder, you will need to move those files out of WEB-INF so that they can be served as static files by the app server.

jkf
A: 

The WEB-INF-dierctory is a protected one to hold internal configuration data like the web.xml. Nothing inside schould be delivered by HTTP access (don't know why your server delivers the JSP at all). No URL schould contain WEB-INF at all. Please move your JSPs, style sheets, images and all ather files to be accessible by a browser outside WEB-INF.

Arne Burmeister
I'm not sure about struts, but with Spring, it is accepted practice to put JSPs in WEB-INF and then your view code accesses the protected JSP. This also prevents direct HTTP access to your JSPs so you get better access controls.
jkf
Same goes for Struts as well. It is considered a good practice to put JSPs in WEB-INF folder. Anyways, I have got my answer.
craftsman
No application server can serve anything out of WEB-INF in response to a direct GET request from the user. Application code on the server written to access WEB-INF can however do so. So you are kind of missing the point.
Vineet Reynolds