当前位置: 首页 > news >正文

JSP详细基础教学

目录

前言

环境设置

创建JSP文件

编写基本的JSP代码

部署和运行JSP页面

基础语法


前言

JSP(JavaServer Pages)是一种用于开发动态网页的Java技术。它允许将Java代码嵌入HTML页面中,以便在服务器端生成动态内容。在本次教程中,我将向您介绍如何开始使用JSP。

环境设置

首先,确保您已经安装了Java开发工具包(JDK)和一个支持JSP的Web服务器,如Apache Tomcat。确保将JDK的路径添加到系统环境变量中。

创建JSP文件

创建一个新的文本文件,并将其保存为以".jsp"为扩展名的文件,例如"index.jsp"。

编写基本的JSP代码

打开您创建的JSP文件,并使用以下代码作为模板来编写基本的JSP代码:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html><head><title>My First JSP Page</title></head><body><h1>Welcome to JSP!</h1><%String name = "John"; // 定义一个变量out.println("Hello, " + name); // 输出变量的值%></body>
</html>

在上面的例子中,我们使用了<%@ page %>指令来设置JSP页面的属性,例如页面的编码和内容类型。在<body>标签内部,我们使用<% %>标记来插入Java代码,并使用out.println()函数将输出发送到客户端。

部署和运行JSP页面

将保存有JSP代码的文件复制到Tomcat服务器的Web应用程序目录(例如Tomcat的webapps文件夹)。

启动Tomcat服务器,并在Web浏览器中输入URL http://localhost:8080/您的应用程序名称/index.jsp。

您应该能够看到包含动态内容的页面。

基础语法

1、JSP指令:

JSP指令用于设置页面的属性和配置。在JSP页面的顶部使用<%@ %>标记定义指令。常见的JSP指令包括:

  • page指令:用于设置页面的属性,如语言、编码、缓冲区大小等。
  • include指令:用于包含其他文件或页面。
  • taglib指令:用于导入和使用自定义标签库。

以下是一个示例page指令的用法:

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

2、JSP脚本元素:

JSP脚本元素用于在JSP页面中插入Java代码。常用的脚本元素包括:

  • <% %>:用于插入一段Java代码块。
  • <%= %>:用于插入表达式的结果(输出到页面)。
  • <%! %>:用于定义全局变量、方法和类。

以下是示例代码,展示了如何在JSP页面中使用脚本元素:

<%  // Java代码块String name = "John";int age = 25;
%>
<p>Name: <%= name %></p>  // 输出表达式结果<%!public void greet() {  // 定义方法out.println("Hello, world!");}
%>

3、表达式语言(EL):

EL是一种简化访问JavaBean属性、数组、集合和其他对象的方式。它使用${ }语法在JSP页面中引用变量和执行表达式。常见的EL操作符包括.(点号)用于访问对象属性,[](方括号)用于访问数组和集合元素等。

以下是使用EL的示例代码:

在使用EL之前,通常需要导入JSTL(JSP Standard Tag Library)标签库。

<p>Name: ${name}</p>  // 访问变量<p>Sum: ${2 + 3}</p>  // 执行表达式<c:set var="count" value="${array.length}" />  // 设置变量<p>Array Element: ${array[0]}</p>  // 访问数组元素

相关文章:

JSP详细基础教学

目录 前言 环境设置 创建JSP文件 编写基本的JSP代码 部署和运行JSP页面 基础语法 前言 JSP&#xff08;JavaServer Pages&#xff09;是一种用于开发动态网页的Java技术。它允许将Java代码嵌入HTML页面中&#xff0c;以便在服务器端生成动态内容。在本次教程中&#xff…...

mysql修改登录用户的密码

文章目录 mysql5.7即mysql7.0 的修改方式mysql5.8即mysql8.0的修改方式如果修改完密码&#xff0c;发现旧密码和新密码都登录不进来怎么办&#xff1f;发现设置密码老报错 mysql5.7即mysql7.0 的修改方式 1.如果是使用docker里装的mysql 首先使用 [rootlocalhost /]# docker p…...

SNAT和DNAT

SNAT和DNAT 一、SNAT的策略及应用&#xff1a; 1.SNAT&#xff1a; &#xff08;1&#xff09;定义&#xff1a;又称源地址转换。源地址转换是内网地址向外访问时&#xff0c;发起访问的内网ip地址转换为指定的ip地址&#xff08;可指定具体的服务以及相应的端口或端口范围&…...

好程序员:月薪2万程序员的简历,原来长这个样子!

6月份现在正是招聘季节&#xff0c;不少同学java岗位投递不少&#xff0c;但回复不多&#xff0c;根本原因可能是java面试简历不够吸引人。 你的java简历不会写&#xff1f;看看别人就知道咋写了&#xff0c;这里给大家拆解一份好程序员月薪2万的java简历。 java自我评价模块&a…...

STM32之FreeRTOS

目录 FreeRTOS 介绍 什么是 FreeRTOS &#xff1f; 为什么选择 FreeRTOS ? FreeRTOS 资料与源码下载 祼机开发与 FreeRTOS 祼机开发&#xff1a; FreeRTOS&#xff1a; FreeRTOS 实现多任务的原理 二、移植 FreeRTOS 手动移植 使用CubeMX快速移植 快速移植流程…...

有趣的图(二)(56)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 和猫妹学Python&#xff0c;一起趣味学编程。 今日主题 咱们书接上回&#xff0c;上次学了图的基本概念&#xff0c;你都学会了吗&#xff1f; 咱们今天要学习内容如下&a…...

Linux之环境变量

目录 Linux之环境变量 分类 环境变量 定义 设置环境变量 设置环境变量&#xff08;永久&#xff09; 用户环境变量配置所在文件&#xff1a; 全局环境变量配置所在文件&#xff1a; 显示与取消环境变量 通过echo或printf打印环境变量 通过env或set显示默认的环境变量 用 …...

python带你制作自动点赞小程序,让我看看谁还在呆呆的手动点赞

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 知识点: 动态数据抓包 requests发送请求 开发环境: 代码所使用软件工具&#xff1a; python 3.8 >>>>>> 运行代码 pycharm 2022.3 >>>>>> 辅助敲代码 需下载的第三方模块&a…...

shell脚本编写辅助命令

目录 一、echo 命令 二、字符串相关操作 1.截取字符串 2.获取字符串长度 3.字符串追加字符 4.从开头或结尾删除字符串指定格式内容 三、随机数 1.使用 $RANDOM 2.指定RANDOM变量的范围 &#xff08;1&#xff09;从0开始的范围 &#xff08;2&#xff09;从指定数始…...

高并发编程:线程池

一、概述 线程池首先有几个接口先了解第一个是Executor&#xff0c;第二个是ExecutorService&#xff0c;在后面才是线程池的一个使用ThreadPoolExecutor。 二、Executor Executor看它的名字也能理解&#xff0c;执行者&#xff0c;所以他有一个方法叫执行&#xff0c;那么执…...

微信小程序开发uni-app-8分钟上手开发

本篇文章uni-app微信小程序开发-8分钟上手开发 -首先到微信小程序官网登录/注册微信小程序 微信小程序官网 uni-app 微信小程序 注册微信小程序 这里要注意&#xff1a; 激活邮箱之后&#xff0c;选择主体类型为 “个人类型”&#xff0c;并按要求登记主体信息。主体信息提…...

【C++11】 initializer_list | 右值引用 | 移动构造 | 完美转发

文章目录 1. 统一的列表初始化{ } 初始化initializer_list 2. 引用左值引用右值引用左值引用与右值引用的相互转换右值引用的真正使用场景移动构造 C98与C11传值返回问题注意事项总结 3. 完美转发 1. 统一的列表初始化 { } 初始化 C11 扩大了括号括起的列表(初始化列表)的使用…...

基于html+css的图展示122

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…...

《Unix环境高级编程》/bin/sh: ./fixup.awk: Permission denied

我的代码是从http://www.apuebook.com/code3e.html下载的&#xff0c;先是在 使用cat /etc/redhat-release看到操作系统是CentOS Linux 7.6&#xff0c;使用uname -r看到内核是3.10.0-957.el7.x86_64。 在代码顶级目录下&#xff0c;执行make。 发现报错&#xff1a; ./fi…...

万字长文+示例代码详解DDD中常用的架构(含代码示例)

目录 分层架构&#xff08;Layered Architecture&#xff09; 概念 示例代码 总结 领域驱动设计的六边形架构&#xff08;Hexagonal Architecture&#xff09; 概念 示例代码 总结 CQRS&#xff08;Command Query Responsibility Segregation&#xff09; 概念 示例…...

Debezium UI On ECS编译安装及开放Web访问

1. 访问debezium-ui的代码仓库&#xff0c;下载源码 GitHub - debezium/debezium-ui: A web UI for Debezium; Please log issues at https://issues.redhat.com/browse/DBZ. 2. 解压zip源码包&#xff1a; TEST[hadoopshdcvfsla1894 ~]$ cd /data/module TEST[hadoopshd…...

【支付系统】核心支付流程

支付在产品中常见的用处为购买和充值.这两种功能操作大相径庭,其中购买相对充值多了很多步骤,它需要锁商品或者库存,还需要超时未支付取消订单等操作.在这篇文章中主要探讨支付部分,属于购买和充值公共部分. 下面是绘制的简易支付时序图 以上时序图并非完整,其实核心步骤就是, …...

电脑系统可以直接备份到其它硬盘上吗

在日常使用电脑的过程中&#xff0c;我们都希望能够保护好重要的系统数据&#xff0c;以防止意外数据丢失或系统崩溃。那么&#xff0c;能否将电脑系统直接备份到其他硬盘上呢&#xff1f;本文将为您解答这个问题&#xff0c;并探讨备份系统的方法和注意事项。 工具/原料&…...

springboot项目如何优雅停机

文章目录 前言kill -9 pid的危害如何优雅的停机理论步骤优雅方式1、kill -15 pid 命令停机2、ApplicationContext close停机3、actuator shutdown 停机4、ApplicationListener 监听延时停机 前言 相信很多同学都会用Kill -9 PID来杀死进程&#xff0c;如果用在我们微服务项目里…...

springboot mybatis-plus 代码生成工具

介绍 基于mybatis-plus代码生成工具 后续会不断完善 规划 后续会基于此功能搞低代码平台&#xff0c;会有前端VUE mybatis-plus介绍&特性 • 无侵入&#xff1a;只做增强不做改变&#xff0c;引入它不会对现有工程产生影响&#xff0c;如丝般顺滑 • 损耗小&#xff1…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...