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

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简介&#xff1a; Tomcat是一个免费的开源JSP容器&#xff0c;是Apache的Jakarta项目中的一个核心项目因免费、稳定而成为目前比较流行的Web应用服务器网址&#xff1a;https://tomcat.apache.org/ 2.Tomcat的配置——环境变量 &#xff08;1&#xff09…...

基于Springboot +Vue 在线考试管理系统

基于Springboot Vue 在线考试管理系统 前言 随着信息技术的飞速发展&#xff0c;教育领域正经历着深刻的变革。传统的考试模式因其诸多限制和不便&#xff0c;已难以满足现代教育的需求。基于SpringBoot和Vue框架开发的在线考试系统应运而生&#xff0c;它充分利用了现代互联…...

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期末复习 密码学 按老师指点大纲复习

我们都要坚信&#xff0c;道路越是曲折&#xff0c;前途越是光明。 --------------------------------------------------------------------------------------------------------------------------------- 现代密码学 第五版 杨波 第一章 引言 1.1三大主动攻击 1.中断…...

关于嵌入式系统的知识课堂(二)

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于嵌入式系统的知识课堂&#xff08;…...

基于ETAS工具的AutoConnect实现方案

文章目录 前言基于ISOLAR工具实现AutoConnect基于脚本实现AutoConnect总结前言 Autosar软件架构设计中,Connect通常来自于Composition之间(Assembly connectors),Component之间(Assembly connectors),Component与Composition之间(Delegation connectors),还有一种Pa…...

BGP基础配置实验

一、实验拓补 二、实验要求及分析 实验要求&#xff1a; 1&#xff0c;R1为AS 100区域&#xff1b;R2、R3、R4为AS 200区域且属于OSPF协议&#xff1b;R5为AS 300区域&#xff1b; 2&#xff0c;每个设备上都有环回&#xff0c;且通过环回可以使设备互通&#xff1b; 实验分…...

基于单片机的人体健康指标采集系统设计

1.系统的功能及方案设计 根据系统设计要求&#xff0c;人体健康指标采集系统的系统结构框图如图2.1所示。系统以单片机作为主控核心&#xff0c;协调控制各个模块进行工作。在传感器检测模块中包括MAX30102心率血氧检测模块、体温检测模块、液晶显示模块。系统以无创的形式实现…...

Go语言性能优化-字符串格式化优化

在 Go 语言中,格式化字符串(例如使用 fmt.Sprintf、fmt.Printf 等函数)确实可能对性能产生影响,尤其是当频繁执行格式化操作时。格式化字符串涉及对格式符的解析和数据类型的转换,这会增加额外的开销。为了减少格式化字符串带来的性能影响,可以采取以下一些优化策略: 1…...

UE5失真材质

渐变材质函数&#xff1a;RadialGradientExponential&#xff08;指数径向渐变&#xff09; 函数使用 UV 通道 0 来产生径向渐变&#xff0c;同时允许用户调整半径和中心点偏移。 用于控制渐变所在的位置及其涵盖 0-1 空间的程度。 基于 0-1 的渐变中心位置偏移。 源自中心的径…...

SAP 01-初识AMDP(ABAP-Managed Database Procedure)

1. 什么是AMDP(ABAP-Managed Database Procedure) 1.&#xff09;AMDP - ABAP管理数据库程序&#xff0c;是一种程序&#xff0c;我们可以使用SQLSCRIPT在AMDP内部编写代码&#xff0c;SQLSCRIPT是一种与SQL脚本相同的数据库语言&#xff0c;这种语言易于理解和编码。 将AM…...

关于视频审核,内容风控在“控”什么?

随着互联网用户每周上网时长的增加&#xff0c;内容偏好逐渐向视频形式转移&#xff0c;视频内容成为了企业竞争的新战场。然而&#xff0c;视频内容审核和风险控制成为了企业面临的重大挑战。那么在视频审核中&#xff0c;内容风控到底在“控”什么呢&#xff1f; 视频内容风…...

5G NTN(七) 高层(1)

说明&#xff1a;本专题主要基于3GPP协议38.821 目录 1. Idle态移动性增强 1.1 TA问题 1.1.1 TA的大小 1.1.2 针对NTN LEO的移动TA&#xff0c;场景C2和D2 1.1.3 针对NTN LEO的固定TA&#xff0c;场景C2和D2 1.1.3.1 方法1&#xff1a;当UE位置信息无法获取的时候 1.1.…...

专家混合(MoE)大语言模型:免费的嵌入模型新宠

专家混合&#xff08;MoE&#xff09;大语言模型&#xff1a;免费的嵌入模型新宠 今天&#xff0c;我们深入探讨一种备受瞩目的架构——专家混合&#xff08;Mixture-of-Experts&#xff0c;MoE&#xff09;大语言模型&#xff0c;它在嵌入模型领域展现出了独特的魅力。 一、M…...

《柴油遗产-无耻时代》V98375官方版

靠近你所在赛道上的另一名玩家进行攻击或防守&#xff0c;跳到另一条赛道上进行恢复&#xff0c;或闪到对手背后打他个措手不及。与队友合作&#xff0c;充分利用每个角色的独特玩法来控制战斗走向&#xff01; 《柴油遗产-无耻时代》官方版 https://pan.xunlei.com/s/VODW7xDX…...

科技云报到:洞见2025年科技潮流,技术大融合开启“智算时代”

科技云报到原创。 随着2024年逐渐接近尾声&#xff0c;人们不禁开始展望即将到来的2025年。这一年&#xff0c;被众多科技界人士视为开启新纪元的关键节点。站在新的起点上&#xff0c;我们将亲眼目睹未来科技如何改变我们的世界。从人工智能到量子计算&#xff0c;从基因编辑…...

【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 系统中&#xff0c;core dump 文件的生成路径和文件名可以通过几个方面来控制&#xff1a; 系统默认路径&#xff1a; 默认情况下&#xff0c;core dump 文件通常生成在程序的工作目录&#xff0c;即程序运行时的当前目录。文件名通常为 core&#xff0c;或者在某些系…...

CSS——5. 外部样式

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>方法3&#xff1a;外部样式</title><link rel"stylesheet" href"a.css" /><link rel"stylesheet" href"b.css"/&g…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...