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

jsp-----web应用与开发

jsp基本语法

jsp页面的基本结构

定义变量

<%! %>   

表达式:变量、常量、表达式

<%= %>

代码块、程序段【jsp程序代码即jsp脚本】

<% %>

注释

隐藏注释

不会显示在客户的浏览器上,即jsp页面运行后页面上看不到注释内容。同时也不会出现在源文件中,即右击查看源文件也不会看到注释内容。

<%--注释语句--%>

java注释

与隐藏注释相似,不会显示在客户的浏览器上,同时也不会出现在源文件中。

<%/*注释语句*/%>
<%//注释语句%>

HTML注释

在发布网页的时看不到注释,可以在浏览器源文件窗口中看到注释。该类注释也可以使用jsp表达式,表达式是动态的,即根据表达式的值输出结果。

<!--注释语句[<%=表达式%>]-->

jsp指令

页面指令一般位于jsp页面的顶端,但可以放在jsp页面的任何位置。一个jsp页面可以有多个page指令,使用时其属性除import外只能使用一次。

page指令

<%@page ......%>

language属性

用于指定jsp页面中使用脚本的语言,默认值为java。

<%@page language="java"%>

import属性

用于导入jsp页面使用的java API类库。在一个jsp页面中,同时导入多个java包,可以逐一声明,也可以用逗号分隔。

session属性

用于指定是否可以使用session对象,默认为true。

autoFlush属性

用于指定jsp页面缓冲区是否自动刷新输出,默认值为true。

errorPage属性

用于指定错误页面。

contentType属性

用于指定内容MIME类型和jsp页面的编码方式。

pageEncoding属性

用于指定jsp页面的编码方式。

isErrorPage属性

用于指定jsp页面是否为处理异常错误的页面。

include指令

include指令用于在当前jsp页面中加载需要载入的文件代码,即为页面插入一个静态文件,如jsp页面、HTML页面、文本文件或一段java程序,这些载入的代码和原有的jsp代码合并成一个新的jsp文件。使用jsp的include指令有助于实现jsp页面模块化。

<%@include file="文件名"%>

taglib指令

taglib指令用来指定页面中使用的标签库以及自定义标签的前缀。

<%@taglib uri="标记库的存放位置" prefix="标记库中所有动作元素名中使用的前缀"%>

jsp动作

param动作

<jsp:param>动作可以用于<jsp:include><jsp:forward>动作体中,为其他动作传送一个或多个参数。

<jsp:param name="参数名" value="参数值">

name属性用于指定参数名称,不可以接受动态值;
value属性用于指定参数值,可以接受动态值。

include动作

<jsp:include>动作用于把指定文件动态的插入到正在生成的页面中。

<jsp:include page="文件名" flush="true">
<jsp:include page="文件名" flush="true"><jsp:param name="参数" value="参数值">
</jsp:include>

page属性用于指定所包含资源的相对路径,可以接受动态值;
flush属性用于指定包含目标资源之前是否刷新输出缓冲区,默认值为false,不可以接受动态值。

<jsp:include>动作允许接受静态文件和动态文件,两种文件包含的效果不同 。如果包含的文件的静态文件,那么这种包含只是把包含文件的内容添加到jsp文件中去,不会被jsp编译器执行;如果包含的文件是动态文件,那么该文件也会被jsp编译器执行。

include指令与include动作的区别:
include指令可以在jsp页面转换成Servlet之前,将jsp代码插入其中;
include动作是当前页面被请求时,将其他页面的输出包含进来;
根本不同在于被调用的时间,动作在页面请求期间被激活,指令在页面转化期间被激活。
指令比动作难易维护,但指令功能更强大,执行速度也更快。
指令中允许包含的文件含有影响主页面的jsp代码,如相应内容的设置与属性方法的定义。

useBean动作

<jsp:useBean>动作用于加载页面中使用到的javaBean,可以实现javaBean组件的重用。

id属性
用于指定实例名称,不可接受动态值。如果能找到已有的则使用已有的Bean实例而不创建新的。
scope属性
用于指定Bean的作用域,一个作用域内只能有一个id,可选作用域有page、request【Bean在当前用户的请求内有效】、session【Bean在当前HTTPSession内的所有页面都有效】、application【Bean在任何使用相同application的jsp页面中有效】,默认值是page。
class属性
指定Bean的类路径和类名,不可接受动态值。
type属性
用于指定引用该对象的类型,必须是Bean类的名字、超类名字、该类所实现的接口名字之一。变量的名字由id属性指定。
beanName属性
用于指定Bean的名字,可以接受动态值。必须type属性结合使用,不能与class属性同时使用。

相关文章:

jsp-----web应用与开发

jsp基本语法 jsp页面的基本结构 定义变量 <%! %> 表达式&#xff1a;变量、常量、表达式 <% %>代码块、程序段【jsp程序代码即jsp脚本】 <% %>注释 隐藏注释 不会显示在客户的浏览器上&#xff0c;即jsp页面运行后页面上看不到注释内容。同时也不会出…...

洛谷 P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers

题目链接&#xff1a;P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 对于一群 n 个要互送礼物的朋友&#xff0c;GY 要确定每个人送出的钱比收到的多多少。在这一个问题中&#xff0c;每个人都准备了一些钱来送礼物…...

php设计模式-组合模式的运用

介绍 PHP的组合模式是一种设计模式&#xff0c;用于将对象组合成树形结构以表示“部分-整体”的层次结构。该模式允许客户端统一处理单个对象和组合对象&#xff0c;使得客户端在处理对象时不需要知道对象是否为单个对象还是组合对象。 在组合模式中&#xff0c;有两种类型的…...

一文教会你如何简单使用Fegin进行远程服务调用

文章目录1、fegin的基本介绍2、fegin的基本使用步骤3、项目中的实际运用4、测试前言在分布式微服务中&#xff0c;少不了会进行不同服务之间的相互调用&#xff0c;比如A服务要调用B服务中的接口&#xff0c;如何简单方便的实现呢&#xff1f;fegin可以来帮助。 1、fegin的基本…...

OpenAI——CLIPs(代码使用示例)

OpenAI——CLIPs(打通NLP与CV) Open AI在2021年1月份发布Contrastive Language-Image Pre-training(CLIP),基于对比文本-图像对对比学习的多模态模型&#xff0c;通过图像和它对应的文本描述对比学习&#xff0c;模型能够学习到文本-图像对的匹配关系。它开源、多模态、zero-s…...

什么样的人更适合创业?那类人创业更容易成功?

创业是一项充满风险和机遇的事业&#xff0c;成功的创业者需要具备一定的素质和能力。那么&#xff0c;什么样的人更适合创业&#xff1f;哪类人创业更容易成功呢&#xff1f;本文将为您介绍几个适合创业的人群和成功创业者的共同特点。 具有创新精神的人 创业需要不断创新&am…...

JavaApi操作ElasticSearch(强烈推荐)

ElasticSearch 高级 1 javaApi操作es环境搭建 在elasticsearch官网中提供了各种语言的客户端&#xff1a;https://www.elastic.co/guide/en/elasticsearch/client/index.html 而Java的客户端就有两个&#xff1a; 不过Java API这个客户端&#xff08;Transport Client&#…...

NFT的前景,元宇宙的发展

互联网的普及和数字技术的广泛应用&#xff0c;成为消费升级的新动力&#xff0c;在不断创造出更好的数字化生活的同时&#xff0c;也改变了人们的消费习惯、消费内容、消费模式&#xff0c;甚至是消费理念&#xff0c;数字经济时代的文化消费呈现出新的特征。 2020年有关机构工…...

C#基础教程20 预处理器指令

文章目录 C#预处理指令教程简介预处理指令格式指令名 参数预处理指令类型条件编译指令if#if 条件表达式宏定义指令总结C#预处理指令教程 简介 预处理指令是在编译代码之前进行的一种处理,可以让程序员在编译前根据需要对代码进行一些修改、调整或者控制。C#语言中的预处理指令…...

【FPGA】Verilog:时序电路设计 | 二进制计数器 | 计数器 | 分频器 | 时序约束

前言&#xff1a;本章内容主要是演示Vivado下利用Verilog语言进行电路设计、仿真、综合和下载 示例&#xff1a;计数器与分频器 ​​ 功能特性&#xff1a; 采用 Xilinx Artix-7 XC7A35T芯片 配置方式&#xff1a;USB-JTAG/SPI Flash 高达100MHz 的内部时钟速度 存储器&#…...

国外SEO策略指南:确保你的网站排名第一!

如果你想在谷歌等搜索引擎中获得更高的排名并吸引更多的流量和潜在客户&#xff0c;那么你需要了解一些国外SEO策略。 下面是一些可以帮助你提高谷歌排名的关键策略。 网站结构和内容优化 谷歌的搜索算法会考虑网站的结构和内容。 因此&#xff0c;你需要优化网站结构&…...

Tik Tok新手秘籍,做好五点可轻松起号

新手做TikTok需要有一个具体的规划布局&#xff0c;如果没有深思熟虑就上手开始的话&#xff0c;很有可能会导致功亏一篑&#xff0c;甚至是浪费时间。因此&#xff0c;想要做好 TikTok&#xff0c;就必须从最基本的运营细节开始&#xff0c;一步一步来&#xff0c;下面为大家分…...

【Linux】网络入门

&#x1f387;Linux&#xff1a; 博客主页&#xff1a;一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a; 看似不起波澜的日复一日&#xff0c;一定会在某一天让你看见坚持…...

回溯法——力扣题型全解【更新中】

&#xff08;本文源自网上教程的笔记&#xff09; 回溯基础理论 回溯搜索法&#xff0c;它是一种搜索的方式。 回溯是递归的副产品&#xff0c;只要有递归就会有回溯。 所以以下讲解中&#xff0c;回溯函数也就是递归函数&#xff0c;指的都是一个函数。 回溯法的效率 虽然…...

【华为机试真题详解 Python实现】分奖金【2023 Q1 | 100分】

文章目录 前言题目描述输入描述输出描述示例 1题目解析参考代码前言 《华为机试真题详解》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议! 本文解法非最优解(即非性能…...

netlink进行网卡重命名

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <sys/socket.h> #include <linux/if.h> #include <linux/netlink.h>#define MAX_PAYLOAD 1024 // 最大负载长…...

2023年春【数据分析与挖掘】文献精读(一)-1:针对COVID-19,使用聚类方法有效提取生物特性关联进而识别预防COVID-19的药物

分享给大家——动漫《画江湖之不良人》第四季片尾,主人公 李星云所说的一段话: 悠悠众生,因果循环,大道至简,世间若尽是不如意事, 越是执着,便越是苦,不如安下心来,看该看的风景,做好该做之事。 初行娆疆,所悟如此, 就像曾经有一位紫衣姑娘,第一次来中原时,一样…...

【Go自学第三节】Go的范围(Range)用法

Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值&#xff0c;在集合中返回 key-value 对。 在讲Go语言的range之前&#xff0c;我们先回顾下Python中range的用法 for i …...

【备战面试】每日10道面试题打卡-Day6

本篇总结的是计算机网络知识相关的面试题&#xff0c;后续也会更新其他相关内容 文章目录1、HTTP 与 HTTPS 有哪些区别&#xff1f;2、HTTPS的加密过程是什么&#xff1f;3、GET与POST有什么区别&#xff1f;4、讲讲HTTP各个版本的区别&#xff1f;5、HTTP与FTP的区别&#xff…...

Stable Diffusion 个人推荐的各种模型及设置参数、扩展应用等合集(不断更新中)

一、说明 | 表示或者 表示 以上 二、模型 适用风景、房子、车子等漫画类风格 模型的VAE不要用模型附带的&#xff0c;好像就是naifu的官方vae&#xff0c;很老了&#xff0c;用 vae-ft-mse-840000-ema-pruned.ckpt 或者是 kl-f8-anime2.ckpt&#xff1b; 嵌入模型要下载作者…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...