(一)使用静态include指令

<%@ page language="java" contentType="text/html; charset=gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%@include file="scriptlet.jsp" %>
</body>
</html>

(二)使用动态Include指令

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="scriptlet.jsp" />
</body>
</html>

scriptlet.jsp页面代码如下:

<%@ page language="java" contentType="text/html; charset=gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
out.write("来自scriptlet.jsp");
%>
</body>
</html>

(三)静态导入和动态导入的区别:

(1)静态导入(include指令)通过file属性指定被包含的文件,并且file属性不支持任何表达式;动态导入(include动作)通过page属性指定被包含的文件,且page属性支持JSP表达式;

(2)使用静态导入(include指令)时,被包含的文件内容会原封不动的插入到包含页中,然后JSP编译器再将合成后的文件最终编译成一个Java文件;使用动态导入(include动作)包含文件时,当该标识被执行时,程序会将请求转发(不是请求重定向)到被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。因为服务器执行的是多个文件,所以JSP编译器会分别对这些文件进行编译;

(3)使用include指令包含文件时,由于被包含的文件最终会生成一个文件,所以在被包含、包含文件中不能有重名的变量或方法;而include动作包含文件时,由于每个文件是单独编译的,所以在被包含文件和包含文件中重名的变量和方法是不相冲突的。

(4)静态导入是将被导入页面的代码完全融入,两个页面融合成一个整体Servlet,因此被导入页面甚至不需要是一个完整的页面;而动态导入则在Servlet中使用include方法来引入被导入页面的内容;

(5)静态导入时被导入页面的编译指令会起作用;而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。

最新文章

  1. Xamarin.Forms 免费电子书
  2. tomcat apache 实现负载平衡的小demo
  3. Linux_几个常用的命令
  4. J. Bottles 二维费用背包问题
  5. 【转】Winform下KeyDown,KeyPress,KeyUp事件的总结
  6. SQLServer2005数据导入Mysql到详细教程
  7. java web 优化札记
  8. 算法之插入排序(inertionSort)
  9. HTML5 Web Workers来加速您的移动Web应用
  10. JavaEE(24) - JAAS开发安全的应用
  11. asp.net权限认证:OWIN实现OAuth 2.0 之客户端模式(Client Credential)
  12. 基于Mac制作iPhone铃声教程,iTunes定制铃声
  13. vue 组件传值
  14. reStructuredText文件语法简单学习
  15. 基于Selenium的web自动化框架
  16. Latex中cls和sty文件有何区别?
  17. Python Requests库网络爬取全代码
  18. poj 2785 让和为0 暴力&amp;二分
  19. struts2危险漏洞解决方法
  20. bzoj4693: 雪中送温暖

热门文章

  1. 线段树专题—HDU1698 Just a Hook
  2. 地形混合shader
  3. 如何通过js处理相同时间的信息整合到一起的问题
  4. PHP中使用POST发送请求的常用方式
  5. linux下nginx php配置redis
  6. iPhone 和 iPad的ios 开发中 利用 WebViewJavascriptBridge组件,通过 UIWebView 对Html进行双向通讯
  7. 用javascript简单写的判断电话号码
  8. Moore-Penrose Matrix Inverse 摩尔-彭若斯广义逆 埃尔米特矩阵 Hermitian matrix
  9. PHP安全编程之php.ini配置
  10. IDEA运行后控制台输出乱码