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


    一、静态引入和动态引入

    1、静态引入

    使用include指令:

     使用静态引入最终执行的是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页面执行的引入方式:

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

    降低冗余,便于维护。

    (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页面的访问

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

    目录结构:

     (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>
  • 相关阅读:
    去掉谷歌浏览器下input框自动填充的背景色
    ajax请求中动态显示问题
    Array对象的方法有
    请求页面的方法
    IE浏览器checkbox的样式问题
    property、classmethod和staticmethod总结
    面向对象和类
    内置函数补充map、reduce和filter等
    python实现控制台的进度条功能
    python常见内置函数
  • 原文地址:https://www.cnblogs.com/zhai1997/p/11617653.html
Copyright © 2020-2023  润新知