web-inf下的jsp怎么访问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web-inf下的jsp怎么访问相关的知识,希望对你有一定的参考价值。
参考技术A WEB-INF目录下的jsp文件,在浏览器中是不能直接访问的。(没有访问的权限)如果将jsp文件放入WEB-INF目录下,将不能访问。比如在jsp页面中直接写<ahref=/WEB-INF/content/index.jsp那么将不能访问。在struts中必须用action来实现页面的跳转,才能访问WEB-INF里面的jsp文件。将上面的jsp页面中的链接写为:<ahref=index.action在struts配置文件中添加这么一句:<actionname=*<result/WEB-INF/content/1.jsp</result</action这句表示页面的所有action将跳转到/WEB-INF/conent/下对应action的jsp页面。当然如果对其他特定的action进行了顶义,则会跳转到相应的jsp页面。通过添加上面一个action后,页面的超链接就很定位到WEB-INF/content目录下面了。WEB-INF下的jsp文件如何访问css和js文件
今天帮一个同学找出了web项目问题的原因,这个问题是关于WEB-INF下的jsp文件如何访问css和js文件。
先看一下文件的大致位置(jsp与css文件都同处WEB-INF内):
该同学想WEB-INF里面的head.jsp文件加载同目录下的head.css文件,用了如下常规的方法:
<head><link rel="stylesheet" href="/campus/WEB-INF/css/head.css" type="text/css"></link></head>
发现怎么都加载不了该css文件,后来又尝试了好几种都不见效。
我们都知道,为了安全,我们会将绝大部分的jsp文件放入我们的WEB-INF中,然后利用外部
的index.jsp中的forward语句来访问其内部文件,这是因为WEB-INF内部文件是受保护的,想
到这一点,猜测jsp获取不了css文件的原因可能是某段路径被拦截了,所以就尝试着用获取当
前项目的根地址来加载css,代码如下:
<head><link rel="stylesheet" href="<%=request.getContextPath() %>/WEB-INF/css/head.css" type="text/css"></link></head>
结果还是无法加载WEB-INF里面的css文件,百思不得其解,尔后又尝试着将css文件放在了
Web-Root下面,即与WEB-INF同级,如图:
发现用上面两种方法都可以加载到css文件了。究其原因,是由于将css文件放入了WEB-INF
里面,导致jsp无法正常访问到相应的路径。也就是说css跟js文件是不建议放在WEB-INF目
录下的,一般放在与WEB-INF同级即可。
————————————————
版权声明:本文为CSDN博主「梦想的边缘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gsycwh/java/article/details/52098097
以上是关于web-inf下的jsp怎么访问的主要内容,如果未能解决你的问题,请参考以下文章
怎么样让servlet访问web-inf下的网页或jsp文件
在WEB-INF下的jsp页面想要访问webapp下面的css/addBook.css文件为啥不能访问