jsp包含分为动态包含和静态包含。
动态包含:<jsp:include page=""></jsp:include>先编译在包含可以包含动态页面(jsp)和静态页面(html)
静态包含:<include file=""></include>只能包含静态页面
运行顺序:按照引用的顺序运行的,谁先引用,谁执行。所有的页面都被系统编写到一个大的页面上,按照顺序执行。
注意:在子页面如果调用JS方法,如果该JS写在子页面是可以的,但是如果该方法写在子页面的引用文件*.js时,要注意在子页面上调用时正常的,但是到主页面上去加载时,不能正常调用了,提示找不到该方法,原因是应该把该JS方法写在主页面的*.JS文件里面。
如果在子页面要引用JS方法,都应该把JS方法写在主页面的JS文件里面,这样才能正常调用。
大家仔细看下面的例子:
主indexhtml:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script type="text/javascript"> i=0;//主页面上定义全局变量i的值 i++; alert(i); </script> </head> <body> <b>我是测试静态包含的主页面</b><br/> <%@include file="html/1.html"%> <%@include file="html/2.html"%> </body> </html>
子页面1.html:
<!DOCTYPE html> <html> <head> <title>1.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script type="text/javascript"> i++;//此时i的值改变 alert(i); </script> <script type="text/javascript" src="js/1.js"></script>//如果主文件包含子文件则调用这个路径,这就相当于这个JS是相当于子文件的路径 <!-- <script type="text/javascript" src="../js/1.js"></script>-->//这个是单独运行子文件的时候,JS文件相当于子文件的路径 </head> <body> 1111111111111111111.html<br> </body> </html>
同理可得动态包含对于js的处理也是这个样子的。
如果动态包含里面含有java代码,无论子文件还是主文件,系统都会主动先去编译一遍,如果有错误会报错的。这叫做先编译后执行。
主indexjsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'indexjsp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> 我是动态包含主页面 <br> <jsp:include page="jsp/1.jsp"></jsp:include> <% int i=88; %> <%=i %> </body> </html>
子1.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP '1.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <%int i=0; %> <body> <%=i %> 11111111111111.jsp<br> </body> </html>
相关推荐
在JSP页面中嵌入JavaScript代码时,需要注意其执行顺序: - **全局变量和函数**:在JavaScript中,全局变量和函数可以在定义前被引用,但变量的值默认为`undefined`,而函数则可以直接被调用。 - **AJAX异步请求**...
1. Java代码的执行顺序是在服务器端进行的,这部分代码在页面请求到达服务器并被处理之前就已经执行完毕。Java代码通常是JSP页面转化成的Servlet中的一部分。 2. JSP标签和脚本是在服务器端执行的第二部分代码,...
在网页开发中,有时我们需要确保页面完全加载后再执行某些JavaScript函数,这有助于保证操作的正确性和用户体验。在JSP页面中,实现这个需求有多种方式。以下将详细讲解标题和描述中提到的几种常见方法: 1. **使用...
这篇博客“Struts2 拦截器的执行顺序(二十九)”可能探讨了Struts2拦截器链的工作原理和它们的执行顺序,这对于理解Struts2的内部机制至关重要。 首先,让我们深入理解Struts2的拦截器。拦截器是在Action调用前后...
批处理脚本(Bat)是Windows操作系统中的一种文本文件,包含了一系列命令行指令,执行时可以按照预设顺序运行这些命令,实现自动化任务。在这个场景中,`JspCreateFastShowBat.java` 文件很可能是用于生成上述批处理...
Web(ASP)网页的执行顺序解析 Web应用程序开发领域中,ASP(Active Server Pages)是一种常用的服务器端脚本技术,尤其对于初学者来说,理解其执行顺序至关重要。本文主要探讨了ASP网页中脚本的执行流程,以及...
【ASP网页执行顺序解析】 在Web开发领域,ASP(Active Server Pages)是一种经典的服务器端脚本技术,尤其在早期互联网时代十分流行。虽然现在有更多先进的技术如PHP、Java JSP等,但ASP仍然有着其独特的价值,尤其...
Filter链可以有多个,按照配置的顺序执行,这在权限控制、字符编码转换、日志记录等方面非常实用。在MyWebApp中,`LoggingFilter`可能用于记录每个请求的详细信息,而`EncodingFilter`则负责确保所有输入和输出都是...
- 如果有多个JavaScript文件,需要正确引入,避免顺序问题导致脚本执行错误。 - 验证浏览器兼容性,虽然大部分现代浏览器都支持JavaScript,但老版本的浏览器可能存在问题,需要做适当的兼容性处理。 6. **优化...
在JavaScript和HTML的交互中,理解它们的执行顺序是至关重要的。这涉及到浏览器解析网页时的渲染流程,以及JavaScript如何与HTML元素进行交互。本文将深入探讨这些知识点。 首先,我们要明白HTML文档的加载过程。当...
学习JSP的过程中,你可能会接触到如Tomcat这样的Servlet容器,它负责解析、编译和执行JSP页面。此外,理解MVC(模型-视图-控制器)设计模式对理解JSP在Web应用程序中的角色也很有帮助。 通过"jspStu1605"这个压缩包...
- **线路站点关联表**:记录每个线路包含的站点顺序。 4. **Java Bean** - **公交Bean**:封装公交线路和站点的数据,提供get/set方法供JSP页面访问。 - **查询Bean**:处理查询逻辑,包括解析用户输入、执行...
3. JSP页面执行顺序:JSP页面中的`! ... %>`代码段是在服务器端执行的,而`<%= ... %>`或`out.print(...)`则将变量或表达式的结果写入到响应中。在给定的代码中,`! int i = 1; %>`声明了一个实例变量,而`; %>`在...
- `css`/`js`:存放样式表和JavaScript文件,用于美化和增强页面功能。 - `lib`:包含项目所需的库文件,如JDBC驱动。 - `images`/`icons`:存放图片资源,用于商品展示或UI设计。 - `java`:源代码目录,包括...
这意味着即使它们分布在页面的不同位置,也会按照出现的顺序被执行。 #### 3. JSP 原理 ##### 3.1 JSP 作为特殊Servlet JSP本质上是一种特殊的Servlet。当一个JSP页面首次被请求时,服务器会将JSP编译为一个...
在`WebRoot`目录下,通常包含的是Web应用的静态资源,如HTML、CSS、JavaScript文件以及JSP(JavaServer Pages)页面。JSP是Java web开发中的视图层组件,它允许开发者在HTML中嵌入Java代码,方便动态生成网页内容。...
1. JSP基本语法:了解如何在JSP页面中插入Java表达式、脚本let、脚本片段以及指令元素。 2. JSP内置对象:如request、response、session、application等,它们是处理HTTP请求和响应的关键。 3. JSTL(JSP Standard ...
例如,`jsp:include`动作用于动态包含页面: ```jsp <jsp:include page="footer.jsp" flush="true" /> ``` 了解并熟练掌握JSP的构成元素对于开发基于Java的Web应用至关重要,它可以帮助开发者创建功能丰富的交互式...
在本系统中,JSP页面负责接收用户的请求,执行相应的业务逻辑,然后将处理结果以HTML的形式返回给客户端浏览器。 **通讯录管理功能**是系统的核心部分,包括以下子功能: 1. **创建联系人**:用户可以通过填写姓名...
一个基本的JSP页面包含两部分:静态内容(HTML、CSS、JavaScript)和动态内容(Java)。动态内容可以是脚本元素()、表达式元素()或者JSP指令(例如)。在访问统计的场景下,我们主要关注Java代码,用于处理统计...