内容简介: 今天改一个JSP项目,由于博主用的是MyEclipse最新的2018.8.0的,项目是老版本的(不知猴年马月的老东西了)导入项目后启动发现报错,错误信息为:那换为绝对路径试试
今天改一个JSP项目,由于博主用的是MyEclipse最新的2018.8.0的,项目是老版本的(不知猴年马月的老东西了)导入项目后启动发现报错,错误信息为:
File [/WEB-INF/jsp/user/rollpage.jsp] not found
文件没有找到???
看到#47让我想到了 SQL 注入尾部的# 难道是把斜杠/给我转化为了字符
那换为绝对路径试试
${pageContext.request.contextPath }
绝对路径还是这个错 什么鬼 ?去问问百度大哥
百度一下 竟然无果,360就不用说了(我要你们有何用)
回过头来再看下代码报错位置
<%@include file=”/WEB-INF/jsp/common/head.jsp”%>
突然想到了JSP的静态包含与动态包含
在jsp中include有两种形式,其中<%@include file=”url”%>是指令元素,<jsp:include page=”” flush=”true”/>是动作元素。
<%@include file=”url”%>包含一个静态文件,而<jsp:include page=”” flush=”true”/>包含一个静态或动态文件。
<%@include file=”url”%>不会检查文件的变化,适合包含一个静态文件,被包含的文件可以是html,jsp,文本文档,如果是html,文本文档,文件内容将会添加到jsp文件中<%@include file=”url”%>的位置上;如果包含一个jsp文件,这个jsp文件将会被执行,将结果添加到<%@include file=”url”%>的位置,但其变量无法使用。
<jsp:include page=”” flush=”true”/>总会检查文件中所发生的变化,适合包含动态页面,所以既可以用它包含静态文件,也可以用它包含动态文件,当包含动态文件时,flush的值必须为true,表示页面可以刷新。如果被包含的是jsp页面,还可以向被包含页传递参数,例如
<jsp:include page=”test.jsp” flush=”true”>
<jsp:param name=”index” value=”TT”/>
<jsp:param name=”home” value=”EE”/>
</jsp:include>
test.jsp为被包含页面。
<%@include file=”url”%>是先包含再编译,只会产生一个class文件,;<jsp:include page=”” flush=”true”/>是先编译再包含,会产生多个class文件。
值得注意的是,不管被包含的是动态文件还是静态文件,被包含的文件都不应该出现
以上所述就是小编给大家介绍的《Jsp填坑》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Web Designer's Idea Book, Vol. 2
Patrick McNeil / How / 2010-9-19 / USD 30.00
Web Design Inspiration at a Glance Volume 2 of The Web Designer's Idea Book includes more than 650 new websites arranged thematically, so you can easily find inspiration for your work. Auth......一起来看看 《The Web Designer's Idea Book, Vol. 2》 这本书的介绍吧!