2022/08/31 吉软 JSP的基本使用

article/2025/11/3 15:42:33

学习目录

一、JSP的介绍与创建

二、JSP的本质

三、JSP的语法

四、JSP中的常用脚本

1. 声明脚本

2. 表达式脚本

3. 代码脚本

五、JSP三种注释

六、JSP九大内置对象

七、JSP四大域对象

面试题:

1.JSP和servlet的区别

2.JSP作用域

3.JSP的九大内置对象。内置:不需要创建,直接就能用。


一、JSP的介绍与创建

  1. JSP的全称是Java Server Pages,即Java的服务器页面
  2. JSP的主要作用是代替Servlet程序回传HTML页面的数据
  3. web目录(或其他)右击 --> new --> JSP/JSPX --> 输入文件名 --> 选择JSP file创建

二、JSP的本质

JSP页面本质上是一个Servlet程序,第一次访问JSP页面时(运行Tomcat服务器后在浏览器地址栏

输入路径),Tomcat服务器会将此JSP页面翻译成为一个Java源文件,并对其进行编译成为.class字

节码文件(一个.java,一个.class),当打开.java文件时发现其中的内容是:

而HttpJspBase类直接继承于HttpServlet类,即JSP翻译出来的Java类间接继承于HttpServlet类,证明JSP页面是一个Servlet程序

三、JSP的语法

JSP头部的page指令:

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

JSP头部的page指令可以修改JSP页面中的一些重要属性或行为

(以下属性均写在page指令中,默认page指令中没有出现的属性都采用默认值):

(1) contentType属性:表示JSP返回的数据类型是什么,即response.setContentType()的参数值

(2) language属性:表示JSP翻译之后是什么语言文件(目前只支持Java)

(3) pageEncoding属性:表示当前JSP文件本身的字符集(可在IDEA右下角看到)

(4) import属性:表示导包(导类),与Java一致

(5) autoFlush属性:设置当out输出流缓冲区满了之后是否自动刷新缓冲区,默认值是true

(6) buffer属性:设置out缓冲区的大小,默认是8kb

        注意:out缓冲区满了之后不能自动刷新的话会报错

(7) errorPage属性:

        设置当JSP页面运行出错时自动跳转到的页面(错误信息页面)的路径,这个 路径一般都是以斜杠打头,表示请求的地址是http://ip:port/工程路径/,对应代码web目录

(8) isErrorPage属性:

        设置当前JSP页面是否是错误信息页面,默认是false,如果是true可以 获取错误信息

(9) session属性:设置访问当前JSP页面时是否会创建HttpSession对象,默认值是true

(10) extends属性:设置JSP页面翻译出来的Java类默认继承谁

        注意:以上默认值除非有特殊需要,否则不建议修改

四、JSP中的常用脚本

1. 声明脚本

格式:<%! 声明Java代码 %>

作用:可以给JSP翻译出来的Java类定义属性、方法、静态代码块、内部类等

特点:不会在浏览器的页面上显示出来,仅存在于翻译后的Java类中

代码演示:声明脚本的使用(此JSP文件在web目录下,名为First.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.Map" %>
<html>
<head><title>Title</title>
</head>
<body><%--1.声明类属性--%><%!private String name;private static Map<String, Object> map;%><%--2.声明类方法--%><%!public int sum() {return 12;}%><%--3.声明静态代码块--%><%!static {map = new HashMap<String, Object>();map.put("key1", "value1");}%>
</body>
</html>

2. 表达式脚本

格式:<%=表达式 %>

作用:在浏览器的JSP页面上输出数据(只有此脚本可以在浏览器的页面上输出数据)

特点:

(1) 所有的表达式脚本都会被翻译到对应的Java类的_jspService()方法中,故表达式脚本可以 直接

使用_jspService()方法参数中的对象

(2) 表达式脚本都会被编译后的Java类中的out.print()方法输出到浏览器页面上

(3) 表达式脚本中的表达式不能以分号结束

代码演示:表达式脚本的使用(此JSP文件在web目录下,名为First.jsp)

<%=22 %> <br/>
<%="可以输出字符串" %> <br/>
<%=map %> <br/>
<%--使用_jspService方法中的对象--%>
<%=request.getParameter("username") %>

注意:

write方法中的标签、转义字符自动识别为对应的功能,不在页面输出,执行各自代表的功能

out的两个方法也在_jspService方法中,也都是java语言

只有print、write方法、表达式脚本中的内容才可在浏览器中显示,其余Java代码的sout在控制台输出

3. 代码脚本

格式:<% Java语句 %>

作用:在JSP页面中可以编写需要的Java代码

特点:

(1) 代码脚本翻译后都在_jspService方法中,故代码脚本可以直接使用此方法参数中的对象

(2) 可以由多个代码脚本块组合完成一个完整的Java语句

(3) 代码脚本还可以和表达式脚本一起组合使用,在JSP页面上输出数据

代码演示:代码脚本的使用(此JSP文件在web目录下,名为First.jsp)

<%--1.if语句--%>
<%int i = 1;if (i == 1) {System.out.println("我爱祖国!");} else {System.out.println("我很爱祖国!");}
%> <br/>
<%--2.for循环语句--%>
<%for (int j = 0 ; j < 3; j++) {System.out.println("第" + j + "次循环");}
%> <br/>
<%--3.使用_jspService方法参数中的对象--%>
<%String username = request.getParameter("username");System.out.println("username对应的值为:" + username);
%>

五、JSP三种注释

HTML注释:<!--HTML注释-->

HTML注释会被翻译到JSP文件对应的Java类的_jspService方法中,以out.write()输出到客户端,

write方法会自动识别标签,执行标签对应的功能,不会在浏览器的页面上输出注释

Java注释:

        (1) //单行注释 (2) /*多行注释*/

Java注释要写在声明脚本和代码脚本中才被认为是Java注释,会被翻译到JSP文件对应的Java类

的_jspService方法中,在对应的Java类中也是注释

JSP注释:<%- -这是JSP注释- -%>

JSP注释中的内容不会在JSP文件翻译后的Java类中出现,即注释中的内容没有任何功能

六、JSP九大内置对象

JSP的内置对象指的是Tomcat服务器将JSP页面翻译为Java类之后内部提供的九大对象:

(将page指令的isErrorPage属性写成true可以出现exception对象)

request:请求对象
response:响应对象
pageContext:JSP的上下文对象
session:会话对象
application:ServletContext对象
config:ServletConfig对象
out:JSP输出流对象
page:指向当前JSP的对象
exception:异常对象

七、JSP四大域对象

在这里插入图片描述

域对象是指可以像Map一样存取数据的对象,四个域对象功能一样,只是对数据的存取范围不同


面试题:

1.JSP和servlet的区别

1、JSP本质上就是一个servlet

2、JSP更侧重于视图展示,servlet更侧重于逻辑处理

3、先有的servlet,后有的JSP

2.JSP作用域

四大作用域:

1、当前页(pageContext):一个属性只能在一个页面中获取。

2、一次请求(request):一个页面中设置的属性,范围是一次请求。

3、一次会话(session):一个会话中的属性,只要页面不关闭,都能获取到

4、整个web应用(application):在这个服务器上,当前项目下的任何一个位置都能获取。

3.JSP的九大内置对象。内置:不需要创建,直接就能用。

    1、request                 请求

    2、response              响应

    3、session*               会话

    4、out                        输出

    5、page                     当前JSP页面对象

    6、application            应用

    7、exception*             异常,只能在指定了isErrorPage="true"

    8、pageContext         当前页,作用域

    9、config                    配置


http://chatgpt.dhexx.cn/article/mbprlgOv.shtml

相关文章

Java web 之 jsp(web项目)

一、JSP本质上就是一个Servlet. 执行的时候会先在转化成一个.java文件&#xff0c;再编译成.class文件. 1. 如何转化: java代码片段照搬 html、css、js、 表达式 通过输出流 out.writer()方法往出写. 2. 作用: 1. 可以自动的将html相关的代码通过流写到浏览器端. 2. 支持写java…

使用JSP做一个小小的项目(一)

登录&注册&新闻增加 登录&#xff1a;login.jsp&#xff1a;登录界面doLogin.jsp&#xff1a;处理登录请求 注册&#xff1a;regiest&#xff1a;注册界面doRegiest&#xff1a;处理注册请求 新闻增加&#xff1a;index.jsp&#xff1a;主页&#xff08;未完成版&#…

并发模拟工具(JMeter、Apache Bench、postMan)详解

目录 一、Psotman&#xff1a;Http请求模拟工具 二、Apace Bench(AB)&#xff1a;Apache附带的工具&#xff0c;测试网站性能 三、JMeter&#xff1a;Apache组织开发的压力测试工具&#xff08;使用比较多的工具&#xff09; 四、代码模拟 五、总结 简介&#xff1a; 一、…

并发请求测试工具篇(二) - JMeter

JMeter 是什么 JMeter 是一个开源的 Java 应用程序&#xff0c;用于性能测试和负载测试。它可以模拟多种负载类型&#xff0c;包括静态和动态资源请求&#xff0c;以及各种协议&#xff0c;如 HTTP、HTTPS、FTP、JMS 等。JMeter 还提供了可视化的测试结果报告&#xff0c;以便…

压力测试和并发测试

压力测试 1、压力测试分两种场景&#xff1a;一种是单场景&#xff0c;压一个接口的;第二种是混合场景&#xff0c;多个有关联的接口。 压测时间&#xff0c;一般场景都运行10-15分钟。如果是疲劳测试&#xff0c;可以压一天或一周&#xff0c;根据实际情况来定。 2、压力测试是…

Windows并发测试工具

Apache安装目录cmd 用ab并发测试工具&#xff0c;请求10次&#xff0c;并发为5 ab -n 10 -c 5 http://www.ysbm.com/api.php/task/testBingfa

【多线程高并发】jcstress并发测试工具使用教程详解

1.首先创建一个maven项目 2.引入jcstress-core依赖 <dependency><groupId>org.openjdk.jcstress</groupId><artifactId>jcstress-core</artifactId><version>0.14</version></dependency>3.准备测试代码 import org.openjdk…

性能测试----负载测试、压力测试、并发测试

性能测试&#xff1a;检测一个软件的性能。 性能测试的指标&#xff1a; 响应时间&#xff1a;用户从请求到服务器响应的时间 吞吐量&#xff1a;单位时间内成功地传送数据的数量 并发数&#xff1a;在线并且在操作的用户数 负载测试&#xff1a;加负载&#xff0c;找到让系…

程序猿专属“压测工具”并发模拟

目录 前言 一、Postman 二、Apache Bench&#xff08;AB&#xff09; 三、并发模拟工具JMeter 四、代码模拟 前言 在项目开发中&#xff0c;我们有时候需要测试服务器的抗压和qps&#xff0c;需要同时有多个请求请求同一服务。比如我和你现在都同时在请求百度的服务器提供…

Linux 并发测试工具 httpd-tools工具的安装和使用

1、安装工具 sudo yum -y install httpd-tools2、查看工具安装目录 which ab3、查看版本 ab -V4、测试命令 #例如 ab -n 请求次数 -c 并发数 访问地址ab -n 1000 -c 100 https://www.baidu.com/ 表请求1000次中有100并发今天先分享到这里。谢谢大家评论&#xff01;

JMeter 接口测试/并发测试/性能测试

Jmter工具设计之初是用于做性能测试的&#xff0c;它在实现对各种接口的调用方面已经做的比较成熟&#xff0c;因此&#xff0c;本次直接使用Jmeter工具来完成对Http接口的测试。因为再做接口测试时可以设置线程组&#xff0c;所以也可做接口性能测试。 本篇使用JMeter完成了一…

TCP Socket Client 测试工具,并发测试

TCP协议 Socket客户端测试程序 发送数据支持ASCII与16进制格式 可以模拟并发压力测试 创建终端&#xff0c;然后发送数据 工具下载

高并发测试、压力测试

1.postman没有并发测试&#xff0c;run collection是阻塞操作。 那么怎做并发测试呢&#xff1f; 使用JMeter jmeter可以进行压力测试、并发测试、性能测试&#xff0c;功能挺多&#xff0c;我就看了高并发&#xff0c;有需求请自行研究。 本文分为两步&#xff1a;1.环境安装…

如何测试一个网站的性能(并发数)?

点击打开链接 JMeter网站并发性测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据…

如何进行并发测试

创建步骤&#xff1a; 1、创建线程池&#xff1b; 2、创建线程&#xff0c;执行测试方法&#xff1b; 3、循环提交线程。

并发测试工具Jmeter安装与简单使用

文章目录 一、Jmeter简介二、安装1.下载2.配置环境变量3.启动Jmeter 三、使用1.添加线程组2.添加HTTP请求3.添加HTTP信息头管理器4.添加CSV 数据文件设置5.添加请求参数6.添加察看结果树7.测试 一、Jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具。 二、…

不同性能测试工具的并发模式

大家所熟悉的性能测试工具有Loadrunner、JMeter&#xff0c;以及其他小众一些的工具&#xff0c;如Locust、Ngrinder、Gatling等等&#xff0c;那么你们知道这些工具有什么不同吗&#xff1f;为什么有的工具能模拟数千上几万的并发&#xff0c;有的工具单机只能模拟一两千的并发…

Jmetter并发测试工具使用笔记

前言 Jmetter是一个开源的压力测试工具&#xff0c;常用于Web应用压力测试&#xff0c;本文针使用其对api接口进行并发性能测试&#xff0c;做笔记以备忘。 目录 一、下载和安装 1. Jmetter下载 2.下载并安装java1.8 二、基本配置 1.修改jmeter.properties配置 2.运行说…

高并发测试测试

压力测试概念 压力测试即在一定的硬件条件下&#xff0c;模拟大批量用户对软件系统进行高负荷测试&#xff0c;测试出软件的负荷极限&#xff0c;进而重新优化应用性能或在实际的应用环境中控制风险。常见压力测试工具 &#xff08;1&#xff09;Apache JMeter JMeter作为一款…

Linux脚本查数据库

本篇文章的简介: 1.在开发过程中,我们都会使用Linux,下面介绍使用Linux来查询数据库 2.使用定时器 #!/bin/bash ###!/bin/bash是一个解释器,表示用sh来解释执行你的命令#设置UTF-8export PGCLIENTENCODINGUTF8#查询下的目录data_dir/app/payhome/paytest/xzz#获取年月日时分秒e…