关于java web项目中WEB-INF目录下页面的访问问题

来源:互联网 发布:r编程入门经典 编辑:程序博客网 时间:2024/05/16 11:31

在java web项目部署到服务器的以后,项目的目录结构是WebContent下的所有文件夹。如果将jsp/html页面放到WEB-INF目录外面,可以直接请求这个页面。但是多数情况下我们会将页面放到WEB-INF目录下。


页面放在WEB-INF目录下,这样可以限制访问提高安全性。web-inf目录下的文件只能通过请求转发来访问,不能通过页面重定向访问。


在web项目开发过程中,有一个功能实现。页面分为俩块,左边是选择按钮,右边是相应的选择页面。这些jsp页面都放在WEB-INF/目录下。如果使用iframe的话,它的src属性值如果是相应jsp页面的路径,那么页面在请求的过程中会出现404错误。所以页面如果想要加载出来必须请求相应的action或者servlet,然后请求转发到相应的jsp页面,这样就可以了。

下面是本人自己实现的:


这是jsp页面的一部分:

                <div><div class="sidemenu fl" style="float:left"><div style="text-align:center"><div class="s_title">在线练习</div><ul><li><a href="">选择题</a></li><li><a href="">填空题</a></li><li><a href="">简答题</a></li><li><a href="programDetail.html">编程题</a></li><li><a href="Page.html">综合题</a></li></ul></div><div style="float:left"><br><br><h3>备注:</h3>1.每次最好将所有的题目做完然后提交。<br>2.选择填空每次生成题目的数量为20题。<br>3.简答题每次生成的题目的数量为5题。<br>4.编程题每题一提交。<br>5.综合题仿考试试卷,题目100分,时间100分钟。测试结果记录在个人中心。<br>6.教师会参看每个人的练习情况。</div></div><div style="width:1000px; height:800px; float:right; border:0px" id="page"></div></div>

为了使div显示相应的页面,使用js调用页面加载的方法。$.load(url);相应的url参数为应该请求的action。

$(function(){//调用ajax实现页面的局部刷新,将iframe的页面加载出来$("#page").load("pageDirect_testpage.action");});

pageDirect_*.action中的testpage是一个请求转发到相应的页面的方法。这样就加载出了希望加载出的jsp页面。

0 0