您现在的位置是:网站首页> 编程资料编程资料
JSP页面的静态包含和动态包含使用方法_JSP编程_
2023-05-25
270人已围观
简介 JSP页面的静态包含和动态包含使用方法_JSP编程_
JSP中有两种包含:静态包含:<%@include file="被包含页面"%>和动态包含:
实例:
项目文件树:

header.jsp文件中内容:
Insert title here This is header
content.jsp文件中内容
| col1 | col2 |
| col1 | col2 |
footer.jsp文件中内容:
copyright: 1999-2010
静态包含:
index.jsp文件中内容:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><%@ include file="/header.jsp" %><%@ include file="/content.jsp" %><%@ include file="/footer.jsp" %>
页面显示结果:

被编译成的java文件:

动态包含
index.jsp文件中内容:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
页面显示结果:

被编译成的java文件:

说明
这个例子,使用静态包含和动态包含最终的执行结果相同,但是实现过程不同,很明显编译成的java文件数目不同。
静态和动态包含的区别与联系
注:下文将包含有其它文件的jsp文件称为主体文件,比如上文中的index.jsp文件。将被包含的文件称为包含文件,比如上文中的header.jsp文件。
<%@ include file=” ”%>是指令元素。
静态包含在转换成为java文件的时候将包含文件的内容“复制”到主体文件,然后作为一个整体编译。最终编译为一个java文件。
动态包含是各个jsp文件分别转换,分别编译。最终编程成多个java文件。
执行时间不同
静态包含发生在:JSP---->java文件阶段。
动态包含发生在:执行class文件阶段。动态加入。
静态包含在两个文件中不能有相同的变量,动态包含允许。
由于静态包含相当于将包含文件内容直接复制到主体文件中,如果出现相同的变量,就会出现覆盖等问题,导致文件出错。而动态包含相当于调用不同的jsp,变量所在的空间不同,自然不会出现覆盖等现象。
无论是动态包含还是静态包含,其request对象都是相同的。也就是同一个request对象。
静态包含最终编译成一个java文件,有一个request对象很好理解。而动态包含最终编译成多个jsp文件,为何会使用一个request对象呢?其实这些jsp组合的过程是一个请求转发的过程,自然也使用同一个request对象了。
静态包含和动态包含的使用
简单总结一下,就一句话:被包含的页面是静态页面就用静态包含,是动态页面就用动态包含。(当然,不是很绝对,但是这样用没有错。)
jsp静态包含和动态包含的区别补充:
在jsp中有两种包含,静态包含<%@include file="xxx.jsp"%>和动态包含
1、<%@include file="xxx.jsp"%>为jsp中的编译指令,其文件的包含是发生在jsp向servlet转换的时期,而
2、使用静态包含只会产生一个class文件,而使用动态包含会产生多个class文件
3、使用静态包含,包含页面和被包含页面的request对象为同一对象,因为静态包含只是将被包含的页面的内容复制到包含的页面中去;而动态包含包含页面和被包含页面不是同一个页面,被包含的页面的request对象可以取到的参数范围要相对大些,不仅可以取到传递到包含页面的参数,同样也能取得在包含页面向下传递的参数
相关内容
- jsp实现textarea中的文字保存换行空格存到数据库的方法_JSP编程_
- JSP实现客户信息管理系统_JSP编程_
- Jsp+Servlet实现文件上传下载 删除上传文件(三)_JSP编程_
- Jsp+Servlet实现文件上传下载 文件列表展示(二)_JSP编程_
- Jsp+Servlet实现文件上传下载 文件上传(一)_JSP编程_
- jsp中sitemesh修改tagRule技术分享_JSP编程_
- JSP servlet实现文件上传下载和删除_JSP编程_
- jsp+servlet实现文件上传与下载功能_JSP编程_
- jsp 使用request为页面添加静态数据的实例_JSP编程_
- JSP页面跳转方法大全_JSP编程_
