jsp页面的静态导入和动态导入
Posted zhangshiyi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp页面的静态导入和动态导入相关的知识,希望对你有一定的参考价值。
静态导入: <%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处理,把所有代码合在一起,编译成一个servlet
动态导入:< jsp:include>(尖括号中间没有空格):所有代码分别处理,在页面被请求的时候才编译,被编译成多个servlet,页面语法相对独立,处理完成之后再将代码的显示结果(处理结果)组合进来。
JSP中的两种包含页面的方法
第一种:include指令:当JSP转换成Servlet时引入指定文件 (静态包含)
第二种:< jsp:include>动作元素:当JSP页面被请求时引入指定文件(动态包含)
总结
对于静态包含,<%@include%>,中包含的文件(无论html文件还是jsp文件),只是简单的嵌入到主文件中,就是在jsp页面转化成Servlet时才嵌入到主文件中,因为运行的结果是只生成了一个Servlet。
而对于动态包含< jsp:incude>,如果被包含文件是动态的(jsp文件),那么就会生成两个Servlet,也就是被包含文件也要经过jsp引擎编译执行生成一个Servlet,两个Servlet通过request和reponse进行通信(包含的jsp是一个完整的文件有html、body等标签)。如果被包含的文件是静态的(html文件),那么这种情况和<%@include>就很相似,只生成了一个Servlet,但是他们之间没有进行简单的嵌入,而依然是通过request和reponse进行的通信
动态导入:< jsp:include>(尖括号中间没有空格):所有代码分别处理,在页面被请求的时候才编译,被编译成多个servlet,页面语法相对独立,处理完成之后再将代码的显示结果(处理结果)组合进来。
JSP中的两种包含页面的方法
第一种:include指令:当JSP转换成Servlet时引入指定文件 (静态包含)
第二种:< jsp:include>动作元素:当JSP页面被请求时引入指定文件(动态包含)
总结
对于静态包含,<%@include%>,中包含的文件(无论html文件还是jsp文件),只是简单的嵌入到主文件中,就是在jsp页面转化成Servlet时才嵌入到主文件中,因为运行的结果是只生成了一个Servlet。
而对于动态包含< jsp:incude>,如果被包含文件是动态的(jsp文件),那么就会生成两个Servlet,也就是被包含文件也要经过jsp引擎编译执行生成一个Servlet,两个Servlet通过request和reponse进行通信(包含的jsp是一个完整的文件有html、body等标签)。如果被包含的文件是静态的(html文件),那么这种情况和<%@include>就很相似,只生成了一个Servlet,但是他们之间没有进行简单的嵌入,而依然是通过request和reponse进行的通信
以上是关于jsp页面的静态导入和动态导入的主要内容,如果未能解决你的问题,请参考以下文章
java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)