JSP基础
一、Tomcat
1.Tomcat简介:
- Tomcat是一个免费的开源JSP容器,是Apache的Jakarta项目中的一个核心项目
- 因免费、稳定而成为目前比较流行的Web应用服务器
- 网址:https://tomcat.apache.org/

2.Tomcat的配置——环境变量
(1)安装JDK1.8
(2)在环境变量中配置JAVA_HOME=JDK的主目录
(3)安装TOMCAT8.x
(4)在环境变量中配置TOMCAT_HOME=TOMCAT的主目录
3.Tomcat的启动与停止
(1)目录:TOMCAT主目录/bin
- 启动:startup.bat
- 停止:shutdown.bat
(2)Tomcat的默认访问地址
- http://localhost:8080/
- 严格区分大小写

二、JSP
1.JSP(Java Server Pages)是一种建立在Servlet规范功能之上的动态网页技术
- 在HTML中嵌入Java脚本语言
- 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本语言命令
- 将生成的整个页面信息返回给客户端
JSP页面的组成元素:
HTML
JAVA片段
JSP标签
JAVASCRIPT
CSS
2.JSP页面的创建
(1)在Web项目中配置Tomcat Server
(2)在WebContent文件夹下新建hello.jsp文件
(3)编写helloworld程序
(4)运行JSP页面
三、注释
1.JSP注释
不会被翻译,也不会被编译
<%- -…- -%>
2.Java注释
会被翻译,不会被编译
<%//…%>
<%/*…*/%>
<%/**…*/%>
3.HTML注释
会被翻译,也会被编译
<!- -…- ->
可以包含动态内容(java代码),并被JSP容器处理(翻译、编译)
四、指令元素
1.指令元素:提供整个JSP网页相关的信息,并且用来设定JSP页面的相关属性
- 一般形式:<%指令 属性=“属性值”%>
- 指令不会产生任何的输出到当前的输出流中
- 在翻译过程中进行处理
2.page指令
(1)功能:设定整个JSP网页的属性和相关功能。
语法:<%@ page attribute1="value1" sttribute2="value2"%>
例:<%@ page language="java" import="java.util.*,java.io.*" contentType="text/html; charset=gbk" pageEncoding="GBK"%>
(2)常用属性:page指令共有15个属性
language:在jsp2.0中该属性值只能为java
import:导入在脚本环境中引入的java类
- 以逗号分隔表列<%@ page import="java.util.*,java.io.*"%>
- 重复设置:<%@ page import="java.util.*"%> <%@ page import="java.io.*"%>
contentType:指定页面的MIME类型和字符编码
pageEncoding:指定jsp页面的字符编码
errorPage:值为一个错误处理页面(url),当本页面出错,跳转到某url
注:以上两个属性的编码需设置一致,如果均不设置默认为ISO-8859-1
3.taglib指令
(1)功能:使用标签库定义新的自定义标签,在JSP页面中启动定制行为。
(2)语法:<%@ taglib uri="URI" prefix="tagPrefix"%>
五、脚本元素
1.声明
- 说明:用于声明常量、变量、方法等
- 语法:<%!…%>
- 作用范围:当前JSP页面(成员变量,成员方法)
- 可以在一个声明语句中写入多个变量方法,也可以使用多个声明语句
2.脚本段
- 说明:用于处理请求的JAVA代码,可以用于声明、输出、逻辑运算等
- 语法:<%…%>
- 注:声明的变量为局部变量 ,不能定义方法
3.表达式
- 说明:写入JAVA语言中完整的表达式
- 语法:<%=…%>
- 等价形式:<%out.print(…);%>
- 注:表达式后不能写“;”
六、动作元素
1.JSP技术规范定义的一些所有兼容容器都必须实现的标准JSP动作
- 与JSP指令元素不同,JSP动作元素在用户请求处理阶段被JSP引擎处理
2.JSP2.0规范定义了20个标准的动作元素
3.常用动作元素
<jsp:forward>:转发跳转方式
4.制作登录功能

七、HTML表单
1.HTML表单是与用户交互信息的主要手段

2.创建表单
- 一个表单应该包括说明性文字、表单控件、提交和重填按钮等内容
- HTML表单标记说明了表单提交的地点和方式

3.method表示表单发送的方式,分为两种:
get方式:将表单内容经过编码之后,通过URL发送

post方式:将表单的内容通过http发送,post没有字符长度的限制

八、JSP页面组成

相关文章:
JSP基础
一、Tomcat 1.Tomcat简介: Tomcat是一个免费的开源JSP容器,是Apache的Jakarta项目中的一个核心项目因免费、稳定而成为目前比较流行的Web应用服务器网址:https://tomcat.apache.org/ 2.Tomcat的配置——环境变量 (1)…...
基于Springboot +Vue 在线考试管理系统
基于Springboot Vue 在线考试管理系统 前言 随着信息技术的飞速发展,教育领域正经历着深刻的变革。传统的考试模式因其诸多限制和不便,已难以满足现代教育的需求。基于SpringBoot和Vue框架开发的在线考试系统应运而生,它充分利用了现代互联…...
Node.js 函数
Node.js 函数 1. 概述 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许开发者使用 JavaScript 编写服务器端和网络应用程序。在 Node.js 中,函数是一等公民,意味着它们可以作为变量传递,可以作为参数传递给其他函数,也可以从其他函数返回。本文将详细…...
JVM学习指南(9)-JVM运行时数据区
JVM学习指南(9)-JVM运行时数据区 引言 Java虚拟机(JVM)是Java程序运行的核心,它为Java程序提供了一个与平台无关的执行环境。JVM的重要性不仅在于它实现了Java的跨平台特性,还在于它对程序执行过程中内存的管理。JVM运行时数据区是程序执行过程中存储数据的关键区域,理解…...
2025/1/4期末复习 密码学 按老师指点大纲复习
我们都要坚信,道路越是曲折,前途越是光明。 --------------------------------------------------------------------------------------------------------------------------------- 现代密码学 第五版 杨波 第一章 引言 1.1三大主动攻击 1.中断…...
关于嵌入式系统的知识课堂(二)
成长路上不孤单😊😊😊😊😊😊 【14后😊///计算机爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于嵌入式系统的知识课堂(…...
基于ETAS工具的AutoConnect实现方案
文章目录 前言基于ISOLAR工具实现AutoConnect基于脚本实现AutoConnect总结前言 Autosar软件架构设计中,Connect通常来自于Composition之间(Assembly connectors),Component之间(Assembly connectors),Component与Composition之间(Delegation connectors),还有一种Pa…...
BGP基础配置实验
一、实验拓补 二、实验要求及分析 实验要求: 1,R1为AS 100区域;R2、R3、R4为AS 200区域且属于OSPF协议;R5为AS 300区域; 2,每个设备上都有环回,且通过环回可以使设备互通; 实验分…...
基于单片机的人体健康指标采集系统设计
1.系统的功能及方案设计 根据系统设计要求,人体健康指标采集系统的系统结构框图如图2.1所示。系统以单片机作为主控核心,协调控制各个模块进行工作。在传感器检测模块中包括MAX30102心率血氧检测模块、体温检测模块、液晶显示模块。系统以无创的形式实现…...
Go语言性能优化-字符串格式化优化
在 Go 语言中,格式化字符串(例如使用 fmt.Sprintf、fmt.Printf 等函数)确实可能对性能产生影响,尤其是当频繁执行格式化操作时。格式化字符串涉及对格式符的解析和数据类型的转换,这会增加额外的开销。为了减少格式化字符串带来的性能影响,可以采取以下一些优化策略: 1…...
UE5失真材质
渐变材质函数:RadialGradientExponential(指数径向渐变) 函数使用 UV 通道 0 来产生径向渐变,同时允许用户调整半径和中心点偏移。 用于控制渐变所在的位置及其涵盖 0-1 空间的程度。 基于 0-1 的渐变中心位置偏移。 源自中心的径…...
SAP 01-初识AMDP(ABAP-Managed Database Procedure)
1. 什么是AMDP(ABAP-Managed Database Procedure) 1.)AMDP - ABAP管理数据库程序,是一种程序,我们可以使用SQLSCRIPT在AMDP内部编写代码,SQLSCRIPT是一种与SQL脚本相同的数据库语言,这种语言易于理解和编码。 将AM…...
关于视频审核,内容风控在“控”什么?
随着互联网用户每周上网时长的增加,内容偏好逐渐向视频形式转移,视频内容成为了企业竞争的新战场。然而,视频内容审核和风险控制成为了企业面临的重大挑战。那么在视频审核中,内容风控到底在“控”什么呢? 视频内容风…...
5G NTN(七) 高层(1)
说明:本专题主要基于3GPP协议38.821 目录 1. Idle态移动性增强 1.1 TA问题 1.1.1 TA的大小 1.1.2 针对NTN LEO的移动TA,场景C2和D2 1.1.3 针对NTN LEO的固定TA,场景C2和D2 1.1.3.1 方法1:当UE位置信息无法获取的时候 1.1.…...
专家混合(MoE)大语言模型:免费的嵌入模型新宠
专家混合(MoE)大语言模型:免费的嵌入模型新宠 今天,我们深入探讨一种备受瞩目的架构——专家混合(Mixture-of-Experts,MoE)大语言模型,它在嵌入模型领域展现出了独特的魅力。 一、M…...
《柴油遗产-无耻时代》V98375官方版
靠近你所在赛道上的另一名玩家进行攻击或防守,跳到另一条赛道上进行恢复,或闪到对手背后打他个措手不及。与队友合作,充分利用每个角色的独特玩法来控制战斗走向! 《柴油遗产-无耻时代》官方版 https://pan.xunlei.com/s/VODW7xDX…...
科技云报到:洞见2025年科技潮流,技术大融合开启“智算时代”
科技云报到原创。 随着2024年逐渐接近尾声,人们不禁开始展望即将到来的2025年。这一年,被众多科技界人士视为开启新纪元的关键节点。站在新的起点上,我们将亲眼目睹未来科技如何改变我们的世界。从人工智能到量子计算,从基因编辑…...
【openwrt】OpenWrt 路由器的 802.1X 动态 VLAN
参考链接 [OpenWrt Wiki] Wi-Fi /etc/config/wirelesshttps://openwrt.org/docs/guide-user/network/wifi/basic#wpa_enterprise_access_point 介绍 基于802.1X 无线网络身份验证...
[coredump] 生成管理
在 Linux 系统中,core dump 文件的生成路径和文件名可以通过几个方面来控制: 系统默认路径: 默认情况下,core dump 文件通常生成在程序的工作目录,即程序运行时的当前目录。文件名通常为 core,或者在某些系…...
CSS——5. 外部样式
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>方法3:外部样式</title><link rel"stylesheet" href"a.css" /><link rel"stylesheet" href"b.css"/&g…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
