JSP 的讲解


一、JSP 的概述

1. 什么是 JSP

  • JSP:JavaServer Pages, Java 服务器端页面;
  • JSP 就是 HTML + Java 代码 + JSP 自身的东西;

2. JSP 的由来

  • Servlet 生成动态网页麻烦,所以为了简化开发,推出了 JSP;

3. JSP 运行原理

  • JSP 在执行时,会被服务器翻译为 Servlet 编译执行,JSP 就是一个 Servlet;

4. JSP 脚本元素

  • <%! %>:JSP 声明,翻译成 Servlet 成员部分的内容;声明变量、方法、内部类;
  • <%= %>:翻译 out.print(),在 Servlet 方法内部;用于生成 HTML 页面源码;
  • <% %>:嵌入 Java 代码,翻译成 service 方法内部的代码块;声明变量、内部类;

二、JSP 的模板修改和注释

1. JSP 模板的修改

  • 修改 JSP 的字符集编码
    在这里插入图片描述

2. JSP 的注释

  • HTML 的注释
    <!-- HTML 的注释 -->
    存在 JSP 的源码中,翻译成 Servlet 后注释也会存在,在生成的 HTML 响应到页面后,这种注释也会存在;
  • Java 代码的注释
    <% //单行注释 %>
    <% /* 多行注释 */ %>
    <% /** 文档注释 */ %>
    存在 JSP 的源码中,翻译成 Servlet 后注释也会存在,但是生成 HTML 响应到页面后,这种注释就消失了;
  • JSP 注释
    <%-- JSP 的注释 --%>
    存在 JSP 的源码中,翻译成 Servlet 后注释就没有了;

三、JSP 的指令元素的概述

1. JSP 指令元素的作用

  • 用于指示 JSP 执行的某些步骤;
  • 用于指示 JSP 变现特定行为;

2. JSP 指令元素语法

  • <%@ 指令名称 属性名称=属性的值 属性名称=属性的值 %>

3. JSP 指令元素的分类

  • page 指令:指示 JSP 的页面设置属性和行为;
  • include 指令:指示 JSP 包含哪些其他页面;
  • taglib 指令:指示 JSP 页面包含哪些标签库;

四、JSP 的指令—— page 指令

  • <%@ page attribute="value" %>
  • Page指令为容器提供当前页面的使用说明;
  • 一个JSP页面可以包含多个page指令;
  • 在 JSP 页面中,只有 import 属性可以出现多次,其他属性都只能出现一次;

在这里插入图片描述

五、JSP 的指令—— include 和 taglib 指令

1. include 指令

  • <%@ include file="relative url" %>
  • JSP可以通过include指令来包含其他文件;包含的文件会被同时编译执行;

2. taglib 指令

  • <%@ taglib uri="uri" prefix="prefixOfTag" %>
  • JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。
  • Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。

六、JSP 内置对象

1. 什么是 JSP 内置对象

  • JSP 内置对象:指的是可以直接在 JSP 页面中使用的对象;

2. JSP 的内置对象有哪些

对象名称 作用 具体类型
request 从客户端向服务器发送的请求对象 HttpServletRequest
response 从服务器端向客户端作出响应对象 HttpServletResponse
session 服务器为客户端创建会话 HttpSession
application 代表应用,获得的 ServletContext对象 ServletContext
out 向输出流写入内容的对象 ServletConfig
page 当前的 JSP 翻译成 Servlet 后的对象的引用 Object
pageContext 当前 JSP 页面的上下文对象 PageContext
config 本 JSP 的 ServletConfig 对象 JspWriter
exception 表示 JSP 页面运行时 产生异常的对象 Throwable

七、pageContext 对象的概述

1. pageContext 对象简介

  • pageContext :页面上下文对象,代表的是当前页面运行的一些属性;

2. pageContext 对象作用

  • 提供了 page 范围的数据存取的方法;
  • 通过这个对象获得其他的8个内置对象;

八、JSP 的四个作用范围

  • PageScope:页面范围
    指的是在当前页面内有效,出了这个页面,用 pageContext 保存数据就无效了;
  • RequestScope:请求范围
    从客户端向服务器端发送一次请求,服务器对这次请求做出了响应之后,用 request 保存的数据就无效了;
  • SessionScope:会话范围
    每个浏览器向服务器发送请求(多次请求),将该会话结束;
  • ApplicationScope:应用范围
    在整个应用中任意的地方都可以获取;

九、JSP 的动作标签

1. 什么是 JSP 动作标签

  • JSP 动作标签,用于在 JSP 页面中提供业务逻辑功能,避免在 JSP 页面中直接编写 java 代码,造成 jsp 页面难以维护;

2. 常用的动作标签

  • <jsp:forward/>:请求转发;
  • <jsp:include/>:包含(动态包含);
  • <jsp:param/>:传递参数;

猜你喜欢

转载自blog.csdn.net/pary__for/article/details/111473671
jsp