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

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

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

一、jsp技术简介

1.什么是JSP

Java服务器端页面创建动态网页的技术标准

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文件改为这个

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">

开始干货 包结构

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

test1.jsp

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

test1

test1

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

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

然后通过tomcat端口访问,才能看到 说明,浏览器并不具备解析jsp文件的能力,tomcat会解析jsp文件,并发布

修改test1.jsp文件为:

<%@ page contentType="text/html;charset=UTF-8" import="java.util.Date" language="java" %>

test1

<%

Date d=new Date();

out.println(d);

%>

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

Thu May 27 17:16:32 CST 2021

网页源码:

test1

Thu May 27 17:16:32 CST 2021

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" %>

include

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

<%@ include file="1.txt" %>

<%@ include file="html1.html" %>

示例:

四、九大内置对象

1.什么是JSP内置对象

JSP内置对象百度百科详解

JSP内置对象是Web容器创建的一组对象

JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。 在JSP页面中,可以通过存取JSP内置对象实现与JSP页面和Servlet环境的相互访问。每个内部对象均有对应所属的ServletAPI类型。

2.JSP内置对象组成

JSP内置对象包括request对象、response对象、session对象、out对象、application对象、page对象、exception对象、pageContext对象、config对象。这些对象在客户端和服务器端交互的过程中分别完成不同的功能。

3.JSP内置对象的特点

JSP的内置对象主要有以下特点:

1、由JSP规范提供,不用编写者实例化;2、通过Web容器实现和管理;3、所有JSP页面均可使用;4、只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)

4.JSP内置对象的分类

按照内置对象的功能来划分,可以分为以下四类:

1、输出输入对象:request对象、response对象、out对象;2、通信控制对象:pageContext对象、session对象、application对象;3、Servlet对象:page对象、config对象;4、错误处理对象:exception对象。 [3]

详解out内置对象

Out对象

Out对象是javax.servlet.jsp.JspWriter类的实例。主要用于向客户端浏览器输出数据。

out对象的作用

如何在JSP页面中输出信息?

<%=信息内容%>out.println(信息内容);或out.print(信息内容);

示例: 效果:

out对象的常用方法

out对象是向客户端输出内容常用的对象

注意: 但是,浏览器目前不识别println()写入的换行符,如果希望浏览器显示换行,应当向浏览器写入 < br>来实现换行

out对象的实例

out对象各种方法的使用 out对象缓冲区自动刷新设置

详解request内置对象

request对象的作用

如何将页面上的动态信息提交给服务器?

动态信息包括:用户名、密码页面提交后,显示输出的数据

request对象的常用方法

request对象主要用于封装客户端的请求信息

常用方法:

方法名描述object getAttribute()返回指定属性的属性值Enumeration getAttributeNames()返回所有可用属性名的枚举String getParameter()返回指定参数的参数值Enumeration getParameterNames()返回所有可用参数名的枚举String [] getParameterValues()返回包含参数的所有值的数组void setAttribute()设置属性的属性值String getMethod()返回提交方式

request对象的实例

页面显示:

取得请求信息:

页面显示:

请求转发 地址栏地址不改变,是服务器内部的一次改变 实例:

页面显示:

中文乱码处理:

get方式: post方式:

tomcat设置

详解response内置对象

response对象的作用

response对象用于响应客户请求并向客户端返回信息

response对象的常用方法

response对象的示例

response对象的小结

重定向 获取不到上一个request域定义的值

相关推荐

世界杯小组赛D组:克罗地亚2-1胜冰岛
365bet开户地址

世界杯小组赛D组:克罗地亚2-1胜冰岛

09-02 👁️ 6039
马云的无人超市火爆开业,上海首家无人便利店却停业了,原因出乎意料...
埃文特纳:选秀时被期待成为詹姆斯 一年后什么都没了