已经很久没有认真的去写Java代码了,因为项目的需求,我被迫被分配到后台用Shell和Procedure实现需求,但是个人觉得不能忘本,之前一段时间同事遇到一个JSP前台加载不上去的问题,后来突然想到了JSP的动态包含和静态包含的问题,他们是有很大的区别的,当时只记得动态包含是编译之后才嵌入进来的,静态包含就相当于是把代码写在一个外部的文件中,但是其他的都忘记了,做人不能忘本啊,所以在网上搜索了下其他大神写的文章,做为备忘吧,后续如果忘记了,可以再回头看看。由于本人的时间有限,因此就不去自己写了。
本文引用自:http://blog.sina.com.cn/s/blog_5bba80460100cidt.html
动态INCLUDE
用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
(这里你必须使用flush="true",你不能使用false值.缺省值为false )
静态INCLUDE
用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>
===================================================================
1. 静态include的结果是把其他jsp引入当前jsp,两者合为一体
动态include的结构是两者独立,直到输出时才合并( 看看jsp生成的java文件就可以知道了)
2.正是因为这样,动态include的jsp文件独立性很强,是一个单独的jsp文件,需要使用的对象,页面设置,都必须有自己创建,当然,还好它和include它的页面的request范围是一致的.
而静态include纯粹是把代码写在外面的一种共享方法,所有的变量都是可以和include它的主文件共享,两者高度紧密结合,不能有变量同名的冲突.而页面设置也可以借用主文件的.
本文来自: 脚本之家(www.jb51.net) 详细出处参考:http://www.jb51.net/article/13159.htm
include指令是静态引入的;而include动作是动态引入的。
静态与动态的include与页面内容无关。
与<%@include...%>不同的是,jsp:include 可以向被包含的页传递参数,但,如果传递参数的话,被包含的页必须是JSP页面。
例如:向被包含的页included2.jsp传递参数:
<jsp:include page="included2.jsp" flush="true">
<jsp:param name="ref1" value="AAA"/>
<jsp:param name="ref2" value="BBB"/>
</jsp:include>
page属性: 相对路径指明被包含的文件
flush属性: 必须用true ,表示页面可刷新。
可以用jsp:param向被包含的动态页即JSP页传递参数(而include指令则不可以),参数以”参数名-值”对的形式传递,被包含的页使用request.getParameter(“参数名称”)可以获取相应参数的值
JSP中动态INCLUDE与静态INCLUDE的区别?动态INCLUDE用jsp:include动作实现它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面
以下自另外一个仁兄的总结,直接"拿"过来了,http://blog.csdn.net/duliming1987/article/details/7389123
都知道,JSP在WEB服务器中都要转换成一个java文件,java文件再编译成一个class文件。当请求JSP页面的时候,实际上运行的是这个class文件。
从这个方面来说:
静态包含发生在:JSP---->java文件阶段。动态包含发生在:执行class文件阶段。动态加入。
静态包含:只生成一个java文件,动态包含:生成多个class文件。
值得庆幸的是无论是动态包含还是静态包含,其request对象都是相同的。也就是同一个request对象。
什么都没例子来的实在:
index.jsp页面:静态和动态包含其他页面。
主要代码:
- 静态包含页面:
- <%@include file="static.jsp" %><br>
- 动态包含页面
- <jsp:include page="dynamic.jsp" flush="true"/>
static.jsp被静态包含的页面。
dynamic被动态包含的页面。
经过编译以后生成的效果:
打开index_jsp.java
可以看到被静态包含的页面中的内容全部包含在了里面。而被动态包含的页面使用了:
- org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "dynamic.jsp", out, true);
而被动态包含的页面,生成了一个新的java文件。
再看代码:为什么说动态包含和静态包含的request是相同的,静态被包含页面和包含它的页面共享request是毋庸置疑的,而动态包含通过上面一行代码也就一目了然了。
以上都是个人总结,如有错误,希望能指正。
相关推荐
### 静态包含与动态包含的区别 #### 一、静态包含 静态包含在Web开发中,特别是使用Java Server Pages (JSP) 技术时非常常见。它是指在页面被编译之前就将被包含的文件内容合并到当前页面中的过程。这意味着,当...
JSP静态包含和动态包含
学习这个源码,你可以深入理解JSP与静态页面之间的转换机制,这对于提升Web应用性能、优化用户体验和进行大规模网站架构设计都有很大的帮助。同时,这也是一种常见的Web缓存策略,对于了解Web开发中的性能优化技术也...
JSP中,有两种包含其它文件的方式,一种是静态包含,一种是动态包含。本文介绍其中的静态包含。 所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来,组成一个大的JSP文件,然后再经过...
5. 链接更新:如果动态页面包含其他动态链接,需要修改为静态页面的URL,确保页面间的导航正常。 三、实现步骤 1. 创建Servlet:编写一个Servlet,配置在web.xml中,设定URL映射规则,使得特定的JSP请求会被这个...
动态INCLUDE 用法:<jsp page=”included.jsp” flush=”true”> 说明:它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数,先编译之后再进行处理。 原因:1、静态include的结果是把其他jsp引入...
1. 路径管理:确保生成的静态HTML文件路径不会与动态页面冲突。 2. 更新同步:当动态内容更新时,要同步更新对应的静态页面。 3. 错误处理:处理可能出现的错误,如生成静态页面失败等情况。 通过以上步骤,我们...
JSP中的包含主要有静态包含和动态包含两种方式。 静态包含使用指令元素被包含页面"%>,它在转换成Servlet的过程中将被包含页面的内容直接复制到主体文件中。这种包含方式发生在JSP向Servlet的转换阶段,即JSP源代码...
首先,我们要理解动态URL与静态URL的区别。动态URL通常包含一系列参数,如问号(?)、等号(=)以及多个参数之间用与号(&)分隔,这样的URL结构对于搜索引擎来说不太友好,因为它们可能无法完全解析这些复杂的参数...
动态URL通常包含有服务器端脚本语言(如jsp)的参数,而静态URL则更易于理解和优化。本篇文章将详细探讨“jsp动态转静态URL重写”的概念、重要性以及实现方法。 一、动态URL与静态URL的区别 1. 动态URL:动态URL...
**正文** ...总之,JSP静态化是提升网站性能的有效手段,它结合了动态内容的灵活性和静态页面的高效性。通过合理选用和配置静态化方案,可以显著改善用户体验,减轻服务器压力,同时有利于SEO优化。
JSP 中 Include 指令静态导入和动态导入的区别详解 JSP 中的 Include 指令可以实现静态导入和动态导入两种方式。静态导入和动态导入是 JSP 中 Include 指令的两种不同的实现方式,它们之间有着明显的区别。 静态...
2. `.jsp` 文件 - 包含了动态内容的JSP页面,它们将接收并处理经过重写的URL请求。 3. `.java` 文件 - 可能包含自定义的Filter类,实现了URL的解析和请求转发逻辑。 4. `.htaccess` 或其他服务器配置文件 - 如果使用...
用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file=included.htm %> =================================================================== 1. 静态include的...
Java/JSP网站实现伪静态是一种优化网站性能和搜索引擎优化(SEO)的方法,它将动态页面的URL转换为静态或看似静态的格式,如.html。这样做可以提高网站的加载速度,减少服务器负担,并使搜索引擎更容易抓取和理解...
在Web开发中,URL重写(URLRewrite)是一种优化技术,主要用于...通过合理配置,我们可以让动态网站在外观上与静态网站无异,同时保持其灵活性和动态性。了解并掌握这一技术,对于提升Web应用的整体质量具有积极意义。
在JSP执行后,系统会保存生成的HTML,将其作为静态文件存储在服务器上,通常是与动态JSP文件放在同一目录下的一个特定文件夹内,比如`/WEB-INF/static`或`/generated/static`。 5. **缓存和重定向**:后续的相同请求...
【标题】"jsp简单静态网页" 涉及的知识点主要集中在JavaServer Pages(JSP)技术上,这是一种用于创建动态网页的服务器端脚本语言,它与HTML、CSS和JavaScript一起工作,允许开发者在HTML页面中嵌入Java代码,以实现...