版权声明:程序猴jwang版权所有 https://blog.csdn.net/qq_21046965/article/details/84452470
前言
本章学习JSP静态引入和动态引入的相关知识
方法
1.概念
我们通过前面的知识已经基本掌握了一个JSP页面的基本组成。
问题:多个JSP文件存在相同的数据,这个时候就很难受了。如果需求一改,我们要将这些JSP统统改一遍,十分繁琐。
解决:使用JSP的引入功能
2.JSP的静态引入
语法:<%@include file="JSP文件路径"%>
实例:在login.jsp中引入first.jsp
login.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<%@include file="first.jsp"%>
<form action="/login.do" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="text" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
first.jsp:
<%@ page pageEncoding="utf-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
我是引入的页面
</body>
</html>
访问login.jsp,我们观察效果:
作用在于将引入的页面内容连同主页面内容一起转化servlet进行展示
2.JSP动态引入
语法:<jsp:include page="JSP文件路径"></jsp:include>
实例:在login.jsp中引入first.jsp
login.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<jsp:include page="first.jsp"></jsp:include>
<form action="/login.do" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="text" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
访问login.jsp,我们观察效果:
我们发现,它和静态引入实现了同样的功能,那么一个问题就出现了,静态引入和动态引入有什么区别?
原理:
静态引入是将要引入的文件合并入主文件一起编译形成一个servlet
动态引入同时将俩个jsp转译为两个servlet,主文件转译的servlet调用要引入的文件转译的servlet
通过上面原理的理解,我们知道:
静态引入是先合并后处理Java代码
动态引入是先处理各自的Java代码,再进行合并,也就是先处理后合并
换句话说:动态引入可以声明同名Java变量,静态引入则不行!