一、静态引入和动态引入

1、静态引入

使用include指令:

jsp(静态引入和动态引入、相对路径与绝对路径)

 使用静态引入最终执行的是main.jsp,即jsp汇总后的总的jsp,将总的jsp文件转译为Servlet文件。

<%@include file="head.jsp"%>

如:

<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h3>我是include.jsp</h3>
<h5>JSP:<%@include file="include-jsp.jsp"%></h5>
</body>
</html>

优点:

使用静态引入方便了jsp页面的维护,便于修改。

速度快。

缺点:

当前jsp文件和被引入的jsp文件存在同名冲突的隐患

 

2、动态引入

(1)动态引入:<jsp:include page="相对路径"></jsp:include>,是在jsp页面执行的引入方式:

jsp(静态引入和动态引入、相对路径与绝对路径)

 

 优点:允许当前页面与引入的文件有同名的变量。

降低冗余,便于维护。

(2)不带参数的动态引入:

创建一个页面引入另一个页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="error.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="2.jsp"></jsp:include>
</body>
</html>

创建被引入的页面:

<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h3>我是被包含的jsp页面!!</h3>
</body>
</html>

(3)带参数的动态引入:

创建一个页面包含另外一个页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="error.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="2.jsp">
<jsp:param value="zao shang hao!" name="nihao"/>
</jsp:include>
</body>
</html>

创建被包含的页面:

<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h3>我是被包含的jsp页面!!</h3>
<%
String str=request.getParameter("nihao");
%>
<%=str%>
</body>
</html>

 

二、相对路径与绝对路径

1、相对路径实现对jsp页面的访问

相对路径:即从起点到目的地经过的全部路径。

目录结构:

jsp(静态引入和动态引入、相对路径与绝对路径)

 (1)由index访问a目录下的b目录下的b.jsp:

<body bgcolor="#7fffd4">
  <center>
  <h3>我是index.jsp</h3>
  <a href="a/b/b.jsp">b.jsp</a>
  </center>
  </body>

(2)由b.jsp访问index.jsp:

<body bgcolor="aqua">
<h3>我是b.jsp.</h3>
<a href="../../index.jsp">index.jsp</a>
</body>

从上面的演示可以看出,利用相对路径访问资源存在以下不足:

a、资源的位置不能随意更改。

b、跳出操作比较麻烦。

 

2、绝对路径    /虚拟项目名/服务器资源:

其中第一个“/”代表服务器的根目录,相当于:localhost:8080。

index.jsp

  <center>
  <h3>我是index.jsp</h3>
  <a href="/JspDemo1_war_exploded/a/b/b.jsp">b.jsp</a>
  </center>

b.jsp:

<body bgcolor="aqua">
<h3>我是b.jsp.</h3>
<a href="/JspDemo1_war_exploded/index.jsp">index.jsp</a>
</body>

 

相关文章: