java动态包含和静态包含的区别
众所周知,静态包含<%@includefile="xx"%>是在页面编译时包含,动态包含<jsp:includepage="xx">是在运行时包含,它们最终实现的效果不都...
众所周知,静态包含<%@ include file="xx"%>是在页面编译时包含,动态包含 <jsp:include page="xx">是在运行时包含,它们最终实现的效果不都是包含么?实现的效果有什么区别?那么我们在实际运用的时候具体应该怎么选择,有没有具体的例子?避谈区别!
展开
3个回答
展开全部
静态包含:<%@ include file="被包含页面"%>
动态包含:<jsp:include page="被包含页面" flush="true">
区别:JSP在WEB服务器中都要转换成一个java文件,java文件再编译成一个class文件,当请求JSP页面的时候,实际上运行的是这个class文件。
从这个方面来说:
静态包含发生在:JSP---->java文件阶段。动态包含发生在:执行class文件阶段动态加入。
静态包含:只生成一个java文件,动态包含:生成多个class文件。
值得庆幸的是无论是动态包含还是静态包含,其request对象都是相同的,也就是同一个request对象。
动态包含:<jsp:include page="被包含页面" flush="true">
区别:JSP在WEB服务器中都要转换成一个java文件,java文件再编译成一个class文件,当请求JSP页面的时候,实际上运行的是这个class文件。
从这个方面来说:
静态包含发生在:JSP---->java文件阶段。动态包含发生在:执行class文件阶段动态加入。
静态包含:只生成一个java文件,动态包含:生成多个class文件。
值得庆幸的是无论是动态包含还是静态包含,其request对象都是相同的,也就是同一个request对象。
展开全部
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,
并且可以带参数。
静态INCLUDE用include伪码实现,不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>
主要就是:一个包含动态页XXX.jsp,一个包含静态页XXX.htm
并且可以带参数。
静态INCLUDE用include伪码实现,不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>
主要就是:一个包含动态页XXX.jsp,一个包含静态页XXX.htm
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-03-21 · 知道合伙人数码行家
关注
展开全部
JSP中有两种包含:
静态包含:
动态包含:
它们有什么区别,都知道,JSP在WEB服务器中都要转换成一个java文件,java文件再编译成一个class文件。当请求JSP页面的时候,实际上运行的是这个class文件。
从这个方面来说:
静态包含发生在:JSP---->java文件阶段。动态包含发生在:执行class文件阶段。动态加入。
静态包含:只生成一个java文件,动态包含:生成多个class文件。
值得庆幸的是无论是动态包含还是静态包含,其request对象都是相同的。也就是同一个request对象。
什么都没例子来的实在:
index.jsp页面:静态和动态包含其他页面。
主要代码:
静态包含页面:
动态包含页面
static.jsp被静态包含的页面。
dynamic被动态包含的页面。
经过编译以后生成的效果:
打开index_jsp.java
可以看到被静态包含的页面中的内容全部包含在了里面。而被动态包含的页面使用了:
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "dynamic.jsp", out, true);
而被动态包含的页面,生成了一个新的java文件。
再看代码:为什么说动态包含和静态包含的request是相同的,静态被包含页面和包含它的页面共享request是毋庸置疑的,而动态包含通过上面一行代码也就一目了然了。
你好,本题已解答,如果满意
请点右下角“采纳答案”。
静态包含:
动态包含:
它们有什么区别,都知道,JSP在WEB服务器中都要转换成一个java文件,java文件再编译成一个class文件。当请求JSP页面的时候,实际上运行的是这个class文件。
从这个方面来说:
静态包含发生在:JSP---->java文件阶段。动态包含发生在:执行class文件阶段。动态加入。
静态包含:只生成一个java文件,动态包含:生成多个class文件。
值得庆幸的是无论是动态包含还是静态包含,其request对象都是相同的。也就是同一个request对象。
什么都没例子来的实在:
index.jsp页面:静态和动态包含其他页面。
主要代码:
静态包含页面:
动态包含页面
static.jsp被静态包含的页面。
dynamic被动态包含的页面。
经过编译以后生成的效果:
打开index_jsp.java
可以看到被静态包含的页面中的内容全部包含在了里面。而被动态包含的页面使用了:
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "dynamic.jsp", out, true);
而被动态包含的页面,生成了一个新的java文件。
再看代码:为什么说动态包含和静态包含的request是相同的,静态被包含页面和包含它的页面共享request是毋庸置疑的,而动态包含通过上面一行代码也就一目了然了。
你好,本题已解答,如果满意
请点右下角“采纳答案”。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |