因此,可以让servlet进行访问,如web-inf下有ajsp则可以用requestgetrequestdispatcher("/web-inf/ajsp")forward(request,response);进行派遣访问但如果web-inf下有ahtm,则用requestgetrequestdispatcher("/web-inf/ahtm")forward(request,response);就不能访问
至于原理的话,可以去看看Tomcat的源码。多多学习。在SpringMVC的配置文件里配置视图解析器,配置前缀和后缀,如下:
<bean
class="orgspringframeworkwebservletviewInternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value="jsp" />
</bean>
然后再访问就可以了
文件在WebRoot目录下就相当于在工程项目下
如果各种文件要分包名,比如js/jsp/css/html四种文件反别放置在WebRoot下的js/jsp/css/html文件包里、
比如html要引入js文件,只需要在html文件中写入把资源定位符定成/js/js就可以引入该文件了。
同理indexjsp要访问myjsp,只需要把url值赋为/jsp/myjsp或者jsp/myjsp都是可行的
相关知识:在工程目录下熟练使用相对路径是很重要的,/表示当前文件的上一个文件,如果当前文件OO与另一文件PP平级,当前文件要访问PP中的XX文件,就可以把url值赋为pp/xx
WEB-INF目录下的jsp文件,在浏览器中是不能直接访问的。(没有访问的权限)如果将jsp文件放入WEB-INF目录下,将不能访问。
比如在jsp页面中直接写
[html] view plaincopy
<span style="font-size:18px;"><a href="/WEB-INF/content/indexjsp"></span>
那么将不能访问。
在struts中必须用action来实现页面的跳转,才能访问WEB-INF里面的jsp文件。
将上面的jsp页面中的链接写为:
[html] view plaincopy
<span style="font-size:18px;"><a href=indexaction>
</span>
上面截图是项目目录,我们要在jsonTestjsp 文件中引入 WEB-INF/js/jquery-214minjs文件,如下:
<script type="text/javascript" src="${pageContextrequestcontextPath}/js/jquery-214minjs" ></script>
以examplejsp配置为例子说明,以供参考:
在webxml中添加examplejsp的设置:
在浏览器中可以选择使用下面其中之一的URL进行访问:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)