was服务器下修改jsp无效果
使用了jsp静态导入,修改了导入的jsp页面,但是目标页面没出现效果。先说下静态导入和动态导入的区别:
include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么JSP引擎将把这两个JSP翻译成一个servlet,其内容在源文件级别进行合并。所以include指令引入通常也称之为静态引入。
而动态引入则是分别翻译成单独的servlet;在执行的时候进行合并。例如<jsp:include>标签
<%@ include file=”relativeURL”%>include指令引入通常也称之为静态引入。
pageContext.include()和<jsp:include>标签都是动态引入
上面的意思也就是说如果采用静态导入的话,被引入的页面和目标页面只会被编译为一个.class文件。(我的被引入页面后缀为.jspf)。
关于.jspf文件:
在jsp页面中要如果要单独引入一个jspf文件,必须要采用 <@include file="...">指令形式静态引入,jspf文件的内容才会被解析并执行其中的jsp指令和tag,使用"jsp:include"和 JSTL的"c:import"都没有用,jspf文件被当作纯文本文件处理了。比如:
view plaincopy to clipboardprint?
<%@ include file="include/script/jquery.jspf"%>
<%@ include file="include/script/jquery.jspf"%>
在was下jsp页面不出现效果,大部分都是因为缓存的问题。
解决方式:第一种方式 >>>>>>>找到class文件删掉,重启服务器(这里我删除的是引入jspf页面的jsp的class文件) 第二种方式 >>>>>>>也可以修改jsp页面名字,访问服务器会出错,然后在把名字改回之前的,这样会刷新缓存。如果页面比较多的话,这不是一个好方法,推荐还是采用第一种方式。