Jsp填坑

​ 今天改一个JSP项目,由于博主用的是MyEclipse最新的2018.8.0的,项目是老版本的(不知猴年马月的老东西了)导入项目后启动发现报错,错误信息为:

File [/WEB-INF/jsp/user/rollpage.jsp] not found

文件没有找到???

Jsp填坑

看到#47让我想到了SQL注入尾部的# 难道是把斜杠/给我转化为了字符

Jsp填坑

那换为绝对路径试试

${pageContext.request.contextPath }

绝对路径还是这个错 什么鬼 ?去问问百度大哥

Jsp填坑

百度一下 竟然无果,360就不用说了(我要你们有何用)

Jsp填坑

回过头来再看下代码报错位置

<%@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填坑》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

为你推荐:

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java Servlet & JSP Cookbook

Java Servlet & JSP Cookbook

Bruce W. Perry / O'Reilly Media / 2003-12-1 / USD 49.99

With literally hundreds of examples and thousands of lines of code, the Java Servlet and JSP Cookbook yields tips and techniques that any Java web developer who uses JavaServer Pages or servlets will ......一起来看看 《Java Servlet & JSP Cookbook》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具