您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

jsp的基本元素、三大指令和九大内置对象详解

jsp的九大内置对象和三种指令

一、jsp技术简介

1.什么是JSP

  • Java服务器端页面
  • 创建动态网页的技术标准
    jsp是什么

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

一个JSP页面可以被分为以下几部份:静态数据、JSP指令、JSP脚本元素和变量、JSP动作、用户自定义标签。

菜鸟教程解读JSP
百度百科解读JSP

提到JSP,就必须说一下JavaWeb

Java Web,是用Java技术来解决相关web互联网领域的技术栈
web包括:web服务端和web客户端两部分。
Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP、第三方框架等等。Java技术对Web领域的发展注入了强大的动力。

Internet上供外界访问的Web资源分为:
静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。
动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
静态web资源开发技术:HTML、CSS。
动态web资源开发技术:JavaScript、JSP/Servlet、ASP、PHP等。在Java中,动态web资源开发技术统称为Java Web

换句话来说JavaWeb与jsp的关系就是jsp是JavaWeb的一个重要的组成部分!

测试区(硬核代码才是真理)

  • 准备工作:
    在idea下创建一个javaWeb项目,在webapp下新建一个test1.jsp文件用于测试
    为了在jsp文件下能够使用el表达式,将web.xml文件改为这个
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">



</web-app>
  • 开始干货
    包结构

在这里插入图片描述
在这里插入图片描述

接下来使用tomcat直接在webapps文件夹下创建一个testJsp的文件夹,然后创建一个test1.jsp的jsp文件

test1.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>test1</title>
</head>
<body>
test1

</body>
</html>

直接将这个jsp文件以路径访问发现显示的源码,浏览器并不能解析jsp文件

在这里插入图片描述

但是html网页就可以直接访问解析

在这里插入图片描述

然后通过tomcat端口访问,才能看到
在这里插入图片描述
说明,浏览器并不具备解析jsp文件的能力,tomcat会解析jsp文件,并发布

修改test1.jsp文件为:

<%@ page contentType="text/html;charset=UTF-8" import="java.util.Date" language="java" %>
<html>
<head>
    <title>test1</title>
</head>
<body>
<%
	Date d=new Date();
	out.println(d);
%>

</body>
</html>

因为tomcat依赖jdk,所以可以引用jdk的类,显示为:

Thu May 27 17:16:32 CST 2021

网页源码:




<html>
<head>
    <title>test1</title>
</head>
<body>
Thu May 27 17:16:32 CST 2021


</body>
</html>

2.JSP的特点

  • 降低了程序设计的难度
  • 可以使用可视化工具,降低了开发工作量
  • 不需要手动编译
    包含相关的内置对象,指令元素(编译指令)与动作元素(动作指令),简化了编写servlet程序的过程
  • 可以运用Java所提供的的各类包

3.JSP运行环境要求

  • Web服务器
  • JDK

4.JSP的执行过程

  • 请求(Request)
  • 翻译
  • 编译
  • 执行
  • 响应(Response)

Web容器处理JSP文件请求需要经过三个阶段

  • 翻译阶段
  • 编译阶段
  • 执行阶段

在这里插入图片描述

第一次请求之后,Web容器可以重用已经编译好的字节码文件,如下图
在这里插入图片描述

注意:
如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译!


实例:

  • ①首次加载页面
    在这里插入图片描述
  • ②首次翻译编译(jsp翻译->java->class->反馈到浏览器页面)
    在这里插入图片描述
  • ③再次加载
    在这里插入图片描述
  • ④发现没有重新翻译编译
    在这里插入图片描述
  • ⑤更改jsp文件
    在这里插入图片描述
  • ⑥发现没有翻译编译
    在这里插入图片描述
  • ⑦重新加载页面
    在这里插入图片描述
  • ⑧重新翻译编译
    在这里插入图片描述

在jsp文件不修改的情况下,刷新网页,虽然显示的网页信息有所改变,但是不会重新翻译编译!
但是如果你修改jsp文件之后,它还是不会翻译编译,直到你刷新网页请求时,再次翻译编译

二、JSP基本元素

1.注释

1.第一种注释形式

  • 格式:<%--JSP注释的第一种形式--%>
  • 示例
    在这里插入图片描述
  • 作用
    对jsp片段做说明
  • 在哪里显示
    仅jsp文件

第二种注释形式

  • 格式<% //JSP注释的第二种形式- 单行注释%>

  • 示例:
    在这里插入图片描述

  • 作用
    单行注释

  • 在哪里显示
    jsp文件,.java文件

第三种注释形式

  • 格式:<% /* 第三种注释形式——多行注释 */ %>
  • 示例:
    在这里插入图片描述
  • 作用
    多行注释
  • 在哪里显示
    jsp文件,.java文件

顺便一提:
html注释:

  • 格式:
  • 示例:
    在这里插入图片描述
  • 作用:
    注释html
  • 在哪里显示
    jsp文件,浏览器显示网页源代码

2.声明

声明局部变量

  • 格式:<% 声明局部变量 %>
  • 示例
    在这里插入图片描述

声明全局变量

  • 格式:<%! 声明全局变量 %>
  • 示例
    在这里插入图片描述

声明方法

  • 格式:<%! 声明方法%>
  • 示例
    在这里插入图片描述

3.表达式

表达式:

  • 格式:<%=表达式%>
  • 示例:
    在这里插入图片描述

4.代码块

代码块:

  • 格式:<%符合java语法的代码块%>

JSP代码块可以包含任意合法的Java语句,可以包含多个JSP语句、方法、变量和表达式等,该代码块在服务器处理请求时被执行

一个面试题:

在这里插入图片描述
第一次运行

在这里插入图片描述
多次运行
在这里插入图片描述

由此可知,每次刷新会进入代码块,局部变量会被重置,但是全局变量不会被重置, 那么全局变量什么时候会被重置呢?

当然是重新翻译编译(也就是说修改jsp文件,哪怕是添加一个空格,然后请求网页)

三、JSP指令元素

什么是JSP指令

指能够对JSP网页相关信息、属性进行存取与设定的代码

JSP指令包含哪些

  • page指令
  • include指令
  • taglib指令

JSP指令格式

  • 包含在"<% @ %>"卷标中

详细介绍page指令

语法:

  • 通过设置内部的多个属性定义整个页面的属性
    在这里插入图片描述

常用属性:

属性描述示例
language指定JSP页面使用的脚本语言<%@page language=”java” %>
import通过该属性来引用脚本语言中使用到的类文件<%@ import=“java.util.,java.text.”%>
contentType用来指定JSP页面所采用的编码格式contentType=“text/html;charset=UTF-8”
pageEncoding页面所用编码格式<@pageEncoding=“UTF-8”%>

page指令的作用

在这里插入图片描述
page指令的语法格式
在这里插入图片描述
page的属性
在这里插入图片描述

详细介绍include指令

  • include指令的作用

在jsp编译时,插入一个包含文本或代码的文件,这个包含的过程是静态
的。静态包含指被包含的文件将会被插入到JSP文件中,可以包含JSP、HTML、文本文件等。

  • include指令的语法格式

<%@include file=“绝对路径|相对路径”%>

  • include指令的定义

include指令用来在该指令处静态插入一个文件,在解析当前页面时,这个文件中的代码会被复制到当前页面中

意思就是说翻译编译所生成的只有一个文件,如下


<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>include</title>
</head>
<body>
<%@ include file="include1.jsp" %>
<%@ include file="1.txt" %>
<%@ include file="html1.html" %>
</body>
</html>

在这里插入图片描述


示例:

在这里插入图片描述


九大内置对象持续更新中。。。。


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进