jspf和jsp的区别

来源:互联网 发布:为什么淘宝电脑便宜 编辑:程序博客网 时间:2024/05/16 17:05

如果想把一个jspf的文件引入(incurred)到一个jsp页面中,只能使用"@include"指令引入,jspf文件中的内容才能被解析并且执行jspf文件中的指令;

如果使用<jsp:include>引入,jspf文件中的内容不会被编译,它直接把jspf的内容包含进去,即jspf文件中的jsp指令和tag不会被执行

例如:

<jsp:include page="xx.jspf" flush="true"></jsp:include>
用jsp动态包含这个jspf文件后页面显示的内容是没有编译直接把源码包含进来了。
问题分析:
jspf并不是像jsp一样是JSP Servlet的默认的扩展名(Tomcat 5.0.28/Servlet 2.4/JSP 2.0),用jsp动态包含jspf后,jsp引擎不会把他当做jsp文件来编译。

如果使用的tomcat服务器,则需求在tomcat下conf/web.xml中加入一个

复制代码
<!-- The mappings for the JSP servlet -->    <servlet-mapping>        <servlet-name>jsp</servlet-name>        <url-pattern>*.jsp</url-pattern>        <url-pattern>*.jspx</url-pattern>     <url-pattern>*.jspf</url-pattern>//添加该url-pattern,让jspf扩展名同样成为JSP Servlet处理的文件  </servlet-mapping>
复制代码

如果使用resin服务器,则需要在resin中的resin.conf中<servlet-mapping url-pattern='*.jspf' servlet-name='jsp'/>
这样用jsp动态包含后jsp引擎才会把他当做jsp文件来编译。

不建议无端引进jspf类型文件进来,因为编辑jspf类型文件上的java代码没有jsp打点提示,不方便维护,同时引入jspf类型文 件也没有什么好处反而增加了配置的复杂,当然引入jspf组件(记得有个jspf.jar)另议,因为此jspf非彼jspf。