JSP脚本指令及标记学习笔记

news2024/9/22 20:30:11

好久没更新文章了,上次更新的文章还是一个学习笔记。本篇博文介绍的是JSP基本概念

1.JSP开发方法

一个jsp网页只需要加上<%%>就行了。

2.JSP运行机制

在这里插入图片描述

3.JSP脚本元素

3.1 JSP脚本代码

<% 脚本代码 %>

实例

<% SimpleDateFormat df = new SimpleDateFormat("yyyy-M-d hh:mm:ss");%>

3.2 jsp声明

JSP声明中定义的变量也称为JSP页面的全局变量,所有访问同一个JSP页面的客户操作都是同一个全局变量

<%! 变量或方法、类的声明 %>

实例

<%! int number = 0%>

3.3 JSP表达式

可以将JSP表达式理解为一种简单的输出形式,语法格式如下:

<%=表达式%>

其中1的表达式可以是任意合法的java表达式,该表达式会被计算并将得到的结果以字符串形式显示到页面中。末尾无须加分号

<% for(int i =1;i<=9;i++){%>

3.4 注释

语法格式

<%---JSP注释信息---%>

4.JSP指令元素

jsp指令有三种:page、include、taglib

4.1 page指令

属性含义
language定义脚本代码使用的语言,默认值为Java
import定义此JSP页面导入的类包
errorPage定义当页面执行中发生异常错误1时,对此页面的请求会被重新指向错误处理页面URL
isErrorPage取值为true时,表示当前jsp页面是一个错误处理页面
contentType定义页面响应信息的MIME类型和编码方式
pageEncoding定义页面响应的编码方式
pageEncoding定义页面响应信息的编码方式

例如;

<%@page import="java.util.Date"%>

page指令的contentType返回MIME,每个MIME类型由两部分组成,前面是数据的大类别,如声音、图像等,后面定义具体的种类。

文件类型文件扩展名MIME
HTML文档.htmltext/html
普通文本.txttext/plain
PNG图像.pngimage/png
GIF图形.gifimage/gif
JPEG图形.jpeg,.jpgimage/jpeg
MPEG文件.mpg,.mpegvideo/mpeg
Microsoft Word文件.docapplication/msword
Microsoft Excel 文件.xlsapplication/x-msexcel
PDF文档.pdfapplication/pdf
任意的二进制数据application/octet-stream

4.2 include指令

include指令的作用是在当前JSP页面中的指定位置插入另一个文件的内容,语法格式如下:

<%@include file="URL"%>

执行机制
在这里插入图片描述

4.3 taglib指令

taglib指令用于支持自定义标记

5. JSP标记元素

5.1 <jsp:include>标记

<jsp:include>标记用于将HTML或JSP动态内容插入当前的jsp页面中
<jsp:include>标记作用是实现对其他文件的动态包含,语法格式如下;

<jsp:include>
	<jsp:param name=‘Name1’ value="value1"/>
	<jsp:param name="Name2" value="Value2"/>
</jsp:include>

运行机制

5.2 <jsp:param>标记

<jsp:param> 标记用于配合<jsp:include>标记和<jsp:forward>标记使用,实现参数传递

<jsp:param name="Name1" value="Value1" />

5.3 <jsp:forward>标记

<jsp:forward>标机用于实现页面请求转发,转发目标可以是JSP页面、HTML页面、Servlet等各种类型的Web资源。语法格式如下:

<jsp:forward page=“URL路径”>
	<jsp:param name="Name1" value="Value1"/>
	<jsp:param name=“Name2” value="Value2"/> 
</jsp:forward>

转发过程
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/357283.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MathType公式编辑器过期(禁止联网)的解决方案

MathType公式编辑器过期&#xff08;禁止联网&#xff09;的解决方案 Mathtype公式编辑器无法使用解决方案 MathType联网后显示证书失效&#xff0c;需要重新认证或者购买。或者是MathType成了精简版&#xff0c;只剩两行了。 1. 打开控制面板 方法1 首先大家在电脑中打开W…

解析从Linux零拷贝深入了解Linux-I/O(下)

接上文解析从Linux零拷贝深入了解Linux-I/O&#xff08;上&#xff09; 大文件传输场景 零拷贝还是最优选吗 在大文件传输的场景下&#xff0c;零拷贝技术并不是最优选择&#xff1b;因为在零拷贝的任何一种实现中&#xff0c;都会有「DMA 将数据从磁盘拷贝到内核缓存区——P…

加油站会员管理小程序实战开发教程11

我们已经用了10篇的篇幅讲解了首页的功能,首页主要是用来展示信息的。那么接下来就要进入我们的功能页面了,会员管理一个比较重要的功能是充值的功能。 要想实现充值功能,首先需要办一张会员卡,那什么时候办理会员卡呢?需要先注册成为会员,然后进行开卡的动作。这里要注…

c/c++开发,无可避免的模板编程实践(篇五)

一、关联容器简述 容器containers是用来管理某对象数据的集合&#xff0c;每种容器都有其优缺点&#xff0c;为了应对不同应用需求&#xff0c;标准库准备了不同的容器类型&#xff0c;容器可以是数组、链表或者是每个元素有一个特别的键值&#xff08;KEY&#xff09;组织起来…

gocd部署应用

产品需要在多个环境部署测试&#xff0c;为了提高部署测试效率&#xff0c;故计划使用CD工具&#xff0c;jenkins确实足够强大&#xff0c;但是使用部署功能是需要安装插件的&#xff0c;再说自己本身只用部署功能&#xff0c;故决定找一个小巧的CD工具&#xff0c;经过一番查找…

CUDA线程块的分配

为了确保能够真正地了解线程块的分配&#xff0c;接下来我们写一个简短的内核程序来输出线程块、线程、线程束和线程全局标号到屏幕上。现在&#xff0c;除非你使用的是 3.2 版本以上的 SDK否则内核中是不支持 printf的。因此&#xff0c;我们可以将数据传送回 CPU 端然后输出到…

微内核和零拷贝

文章目录1.操作系统的特性并发共享虚拟异步2. 微内核(1) 支撑功能中断管理时钟管理原语操作(2)资源管理功能进程管理存储器管理设备管理3.零拷贝什么是零拷贝传统拷贝方式零拷贝方式GatherCopy零拷贝mmap零拷贝1.操作系统的特性 并发 并发&#xff1a;在宏观上&#xff0c;多个…

TryHackMe-Wreath [网络杀伤链](windows网络)渗透测试

Wreath 复习了几天&#xff0c;把自己写的辣鸡wp都看了看&#xff0c;ad也复了复&#xff0c;顺便还将之前一些不懂和遗漏的一些问题都解决了&#xff0c;所谓温故而知新 在继续红队路径之前&#xff0c;先来玩一玩期待已久的Wreath 了解如何通过破坏面向公众的 Web 计算机并…

分布式缓存的问题

1,Redis缓存穿透问题 Redis缓存穿透问题是指查询一个一定不存在的数据&#xff0c;由于这样的数据缓存一定不命中&#xff0c;所以这样的请求一定会打到数据库上。但是由于数据库里面也没有这样数据&#xff0c;且也没有将这样的null值缓存到数据库&#xff0c;从而造成这样的…

软件设计(十三)-原码、反码、补码、移码

软件设计&#xff08;十二&#xff09;数据结构(下)https://blog.csdn.net/ke1ying/article/details/129035300 下面把一个数转成二进制表达形式 原码&#xff1a; 数值1 &#xff1a; 0000 0001 数值-1 &#xff1a; 1000 0001 1 (- 1) &#xff1a; 1000 0010 这是8个…

【安卓逆向】APK修改与反编译回编译

【安卓逆向】反编译修改APK回编译使用工具流程步骤Apktool相关安装与使用常用命令备查APK签名命令备查实战练习反编译查看修改的地方使用Apktool反编译得到产物文件夹并进行修改回编APK实用场景在日常开发我们可能需要替换某些资源或者修改某些代码&#xff0c;但是我们没有源码…

Java基础语法练习题

2023.2.18刷题1、java的4类流程控制语句解析&#xff1a;java的4类流程控制语句循环语句&#xff1a;while&#xff0c;for&#xff0c;do while选择语句&#xff08;分支语句&#xff09;&#xff1a;if,switch跳转语句&#xff1a;break,continue,break,label异常处理语句&am…

Markdown及其语法详细介绍(全面)

文章目录一、基本语法1.标题2.段落和换行3.强调4.列表5.链接6.图片7.引用8.代码9.分割线10表格二、扩展语法1.标题锚点标题 {#anchor}2.脚注3.自动链接4.任务列表5.删除线6.表情符号7.数学公式三、Markdown 应用1.文档编辑2.博客写作3.代码笔记四、常见的工具和平台支持 Markdo…

加油站会员管理小程序实战开发教程12

我们上一篇介绍了会员数据源的开发,本节我们介绍一下会员注册功能。 首先呢梳理一下会员注册的业务逻辑,如果用户是首次登录,那他肯定还没有给我们的小程序提交任何的信息。那么我们就在我的页面给他显示一个注册的按钮,如果他已经注册过了,那么就正常显示会员的信息,他…

spring cloud 集成 seata 分布式事务

spring cloud 集成 seata 分布式事务 基于 seata-server 1.6.x 序言 下载 seata-server 准备一个数据库 seata 专门为 seata-server 做存储&#xff0c;如, 可以指定 branch_tabledistributed_lockglobal_tablelock_table 准备一个业务库&#xff0c;比如存放定单&#xff…

【学习笔记2.19】动态规划、MySQL、Linux、Redis(框架)

动态规划 343整数拆分 class Solution {public int integerBreak(int n) {int dp [] new int [n 1];//dp[i]:正整数i拆分后的最大乘积dp[2] 1;for(int i 2;i < n ;i ){for(int j 1;j < i;j ){dp[i] Math.max(dp[i],Math.max(j * (i - j),j * dp[i - j]));} …

Ubuntu安装opencv库3.4.10,并在cmake工程中引入opencv库

Windows下安装不同&#xff0c;Ubuntu安装OpenCV库时&#xff0c;需要事先安装依赖&#xff0c;而且不同OpenCV库所需的依赖可能会有所不同&#xff0c;下面的依赖亲测 3.4.10 和 4.5.5版本的有效&#xff0c;但是4.6以上版本安装可能会报错。 参考链接&#xff1a;https://bl…

【Python】以邮件的方式定时发送一天的股票分析报告

【Python】以邮件的方式定时发送一天的股票分析报告 文章目录【Python】以邮件的方式定时发送一天的股票分析报告1、Python发送邮件1&#xff09;EmailSender封装2&#xff09;可能存在的问题2、jinja2动态渲染html页面3、阿里云OSS搭建图床1&#xff09;Python上传图片到OSS中…

在Linux和Windows上安装sentinel-1.8.5

记录&#xff1a;380场景&#xff1a;在CentOS 7.9操作系统上&#xff0c;安装sentinel-1.8.5。在Windows上操作系统上&#xff0c;安装sentinel-1.8.5。Sentinel是面向分布式、多语言异构化服务架构的流量治理组件。版本&#xff1a;JDK 1.8 sentinel-1.8.5 CentOS 7.9官网地址…

开发板上搭建vsftpd服务器

1、交叉编译vstftp 下载vsftpd源码&#xff1a;vsftpd-3.0.2.tar.gz # tar –xzvf vsftpd-3.0.2.tar.gz # cd vsftpd-3.0.2 修改makefile文件&#xff1a; CC arm-linux-gnueabihf-gcc # make 将vsftpd文件放到/usr/bin/&…