不要再纠结css/js/html有没有必要放在WEB-INF下了

原因

首先,css/js/html没有必要放在WEB-INF下。
最终这些会被原封不动的展现在客户端,所以访问安全根本就不会成为问题。
jsp放在web-inf下,原因主要有两个
1. 远古时代的模式会把业务逻辑,数据库连接等敏感信息写在jsp里面,被用户直接访问会有安全问题。
现代模式里这个不再成为问题,不应该成为问题。
2. jsp是在服务器端运行的,而且通常都需要其他程序支持——比如后台处理好数据再让jsp渲染等,用户直接访问一则没有意义,二则会抛异常,这些都浪费服务器资源。

其次,如果你一定要放在web-inf下。
需要弄个servlet来forward,或者读取文件后写在response上。
如果是spring,可以参考
http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html
中的 17.15.6 Configuring Serving of Resources

附代码

    <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>
    <mvc:resources location="/WEB-INF/img/" mapping="/img/**"/>
    <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/>

在web.xml中配置静态资源是不管作用的。

<servlet-mapping>     
    <servlet-mapping>     
        <servlet-name>default</servlet-name>  
        <url-pattern>*.jpg</url-pattern>  
        <url-pattern>*.png</url-pattern>
        <url-pattern>*.css</url-pattern>
        <url-pattern>*.js</url-pattern>          
    </servlet-mapping>        
发布了16 篇原创文章 · 获赞 3 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章