include指令与<jsp:include>动作的区别:

(1)include 指令只能引入遵循 JSP 格式的文件,被引入的文件与当前 JSP 文件需要共同合并后才能翻译成一个 Servlet 源文件,最终编译的文件只有一个;<jsp:include> 动作要引入的资源和当前 JSP 页面是两个彼此独立执行实体,即被引入的资源必须能够被 Web 容器独立执行,最终分别对两个文件进行编译。

(2)include 指令引入的资源是在编译时期包含的,包含的是源代码(静态包含);<jsp:include> 动作要引入的资源是在运行时才包含的,而且只包含运行结果(动态包含)。

(3)<jsp:include> 动作运行原理和 RequestDispatcher.include 方法类似,即被包含的页面不能改变响应状态码或者设置响应头;而 inlcude 指令则没有此限制。

注意:(使用<jsp:include>动作通常是包含那些经常改动的文件,因为被包含的文件改动不会影响到包含文件,因此不需要对包含文件进行重新编译)

(4)这里有一个简单的例子,对上面的第(1)(2)点证明

① data.jsp

  1. <%
  2. int num = 1;
  3. %>

②include 指令案例,include_command.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Include 指令</title>
  8. </head>
  9. <body>
  10. <%@ include file="data1.jsp" %>
  11. <%
  12. out.print("num="+num);
  13. %>
  14. </body>
  15. </html>

这里可以正常输出

③<jsp:include> 动作案例, include_action.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Include 动作</title>
  8. </head>
  9. <body>
  10. <jsp:include page="data1.jsp" flush="true"/>
  11. <%
  12. out.print("num="+num);
  13. %>
  14. </body>
  15. </html>

在 Eclipse 下出现小红叉,看来过不了编译。最终显示500,因为没有初始化 num 变量

(5)最后给一个案例

include.jsp

  1. <%@ page language= "java" contentType="text/html;charset=UTF-8" %>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSPinclude动作实例</title>
  6. </head>
  7. <body>
  8. <%@ include file = "Static.txt" %>
  9. <jsp:include page="Dyamic.jsp" flush="true"></jsp:include>
  10. </body>
  11. </html>

Static.txt

  1. <%@ page language= "java" contentType="text/html;charset=UTF-8" %>
  2. <form action="JSPIncludeActiveDemo.jsp" method=post>
  3. 用户名:    <input type=text namename=name><br>
  4. 密码:    <input type=password name=password><br>
  5. <input type=submit value=登录>
  6. </form>

Dyamic.jsp

  1. <%@ page language= "java" contentType="text/html;charset=UTF-8" %>
  2. <br>
  3. 用户名:<%=request.getParameter("name") %>
  4. <br>
  5. 密码:<%=request.getParameter("password") %>
  6. <br>

本文链接:https://liuyanzhao.com/5147.html

Jsp 中 include 指令和 include 动作的区别相关推荐

  1. JSP中的include指令和include动作的区别

    我们都知道在jsp中include有两种形式,分别是Include指令:<%@ include file=""%>和include动作:<jsp:include ...

  2. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  3. 【Head First Servlets and JSP】笔记24:include指令与include动作 param动作 foward动作...

    include指令与include动作 1.样例代码 <%@ page contentType="text/html;charset=UTF-8" language=&quo ...

  4. JSP中get和post请求方式的区别及乱码解决方法

    JSP中get和post请求方式的区别及乱码解决方法 get提交方式:默认method="get" 和 地址栏.超链接请求方式默认都属于get提交方式 form表单的method属 ...

  5. JSP中include指令和include动作的区别

    include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如果 ...

  6. JSP include指令和include动作的区别

    include指令 JSP可以通过include指令来包含其他文件.被包含的文件可以是JSP文件.HTML文件或文本文件.包含的文件就好像是该JSP文件的一部分,会被同时编译执行. Include指令 ...

  7. jsp page指令、include指令、include标签、forword标签、jsp注释方式

    目录 三种指令类型 Page指令 列:session与errorPage的运用 include指令 列:静态包含 标签 Include标签 列:实现动态包含发送接收信息 fordword标签 列:js ...

  8. jsp篇 之 指令元素和动作元素

    Jsp指令元素分类与书写格式: 书写格式: <%@ 指令类型  属性="值" ..  %> 分类: [page include taglib]三种. 根据名字就能知道指 ...

  9. JSP中动态includ与静态includ的区别

    JSP中动态INCLUDE与静态INCLUDE的区别? 动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" ...

  10. jsp中头的导入两种方式区别

    1.<jsp:include page="top.jsp">先将top.jsp中的java脚本和jsp指令执行完毕以后再讲top.jsp页面加入面中 2.<%@ ...

最新文章

  1. 转发:Ajax动态画EChart图表
  2. windows下同时安装python2与python3
  3. inux CentOS 7 修改内核启动默认顺序
  4. 测试markdown的发布
  5. 阿里云部署SSL证书
  6. SqlServer的分割函数
  7. 数字信号处理----数字上变频和下变频都FPGA实现
  8. winform日历控件
  9. 服务器获取交换机端口状态,如何查找交换机端口对应的IP地址
  10. pe服务器注册表,在PE里如何修改系统注册表?U盘PE下修改本机注册表方法
  11. 白话电视:被移动设备抢走的光环,靠什么夺回来?
  12. 斗战神单机版正在连接服务器,斗战神单机版完整
  13. 控制算法简析1——PID和负反馈的数学原理
  14. 微软表示今年员工不要参与愚人节活动!怕玩笑过大得不偿失
  15. 【java】中文转拼音遇到的奇葩事件
  16. Python爬虫新手入门教学(一):爬取豆瓣电影排行信息
  17. DVWA文件包含漏洞
  18. 联想r720自带杜比驱动下载_暑假追剧补习神器,联想M10 PLUS评测
  19. 2021年新款创维E900v21e,非高安版-线刷刷机固件- 移动联通版
  20. mac os 录屏快捷键_如何才能高效的使用mac笔记本?mac笔记本高效使用教程

热门文章

  1. php-5.4 升级到 php7.2
  2. Java多线程之可见性与原子性——synchronized VS volatile
  3. schema约束和引入
  4. Zookeeper配置项说明
  5. (转载的)C#using的用法
  6. 讲师BLOG:http://linuxguest.blog.51cto.com/
  7. 在lua中调用DLL
  8. 计算机的操作系统的那个好,电脑操作系统哪个最好用?
  9. 究竟先操作缓存,还是数据库?
  10. 创建一个SpringBoot项目(IDEA版本,保姆级教程)