首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JSP Cheat Sheet - JavaWeb基础学习速查表

JSP Cheat Sheet - JavaWeb基础学习速查表

作者头像
李郑
发布于 2018-03-01 11:15:09
发布于 2018-03-01 11:15:09
1.7K00
代码可运行
举报
文章被收录于专栏:漫漫全栈路漫漫全栈路
运行总次数:0
代码可运行

JavaWeb学习速查表

整理JavaWeb学习中遇到的问题以及笔记,按分类编排

JSP基本语法 指令标识 - 脚本标识 - JSP注释 - 动作标识

JSP内置对象 JSP内置对象

JSP中的TAG文件与标记 Tag - Tag创建与调用

JSP与JavaBean

Java Servlet

MVC

JSP连接数据库


指令标识

指令标识用于设定整个JSP页面范围内都有效的相关信息,是被服务器解析执行的,不会产生任何内容输出到网页,对浏览器不可见。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%@ 指令名 属性1="属性值1" 属性2="属性值2" …… %>
<%@ page pageEncoding="utf-8" import="java.util.Date,java.text.SimpleDateFormat" %>

指令名:

page

page 是JSP页面最常用的指令,用于定义整个JSP页面的相关属性,这些属性在被解析成Servlet时会转化位想要的Java代码,page一共有15个属性。

  • language 属性 设置JSP页面语言,目前只有Java
  • extends 属性 设置页面继承的Java类,不常用
  • import 属性 设置JSP导入的类包(Java代码在调用API时,需要导入相应的类包)
  • pageEncoding 属性 定义JSP页面的编码格式,指定文件编码
  • contentType 属性 设置JSP页面的MIME类型和字符编码
  • session 属性 设置是否使用http的session绘画,bool类型
  • buffer 属性 设置JSPout输出对象的缓冲区,默认8k,单位kb,建议8的倍数
  • autoFlush 属性 时间页面缓冲自动刷新,bool类型
  • isErrorPage 属性 设置当前JSP页面为错误页面,bool类型
  • errorPage 属性 指定错误页面

include

include指令可以在一个JSP页面中包含另一个JSP页面,不过该指令时静态包含,被包含文件中内容会原样包含到JSP页面,无法编译执行JSP代码。

语法:

include指令语法为<%@ include file="paht" %>

taglib

taglib指令表示声明该页面中所使用的标签库,同时引用标签库,并指定标签前缀。在页面中引用标签库后,就可以通过前缀来引用标签库中的标签。

语法:

<% taglib prefix="tagPrefox" uri="tagURI" %> eg:JSTL核心标签库 <% taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


脚本标识

在JSP页面中,脚本标识能够方便灵活的生产页面中的动态内容,特别是Scriptlet脚本程序。JSP脚本标识包括3部分,JSP表达式(Expression),声明标识符(Declaration),脚本程序(Scriptlet)。

JSP表达式

<%= 表达式 %> 参数说明:表达式可以是任何Java语言的完整表达式,该表达式的最终运算结果将被转换为字符串。

注意:<%=之间不可以有空格

eg:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%String manager="mr";%>
管理员:<%=manager%>             //输出 管理员:mr

JSP表达式不仅可以插入到网页文本中,用于输出内容,也可以插入到HTML标记中,设置动态属性。

声明标识

声明标识用于在JSP页面中定义全局的变量或方法。通过声明标识定义的变量和方法可以被整个JSP页面访问。

说明:服务器执行JSP页面时,会将JSP页面转换为Servlet类,在该类中会把使用JSP声明标识定义的变量和方法转换为类的成员变量和方法。

语法:

<%! 声明变量或方法的代码 %>

注意:<%!之间不可以有空格,代码块可以换行

代码片段

在JSP页面中嵌入的Java代码或是脚本代码。通常用于页面输出内容,处理请求和响应,访问session会话

语法:

<% 声明变量或方法的代码 %>

注意:区别于代码片段,没有!

注释

JSP页面由HTML,JSP,JAVA脚本等组成,所以在其中可以使用多种注释格式。

HTML注释

HTML语言的注释不会被显示在网页中,但是会显示在网页源码中

语法:

//注释文本

JSP表达式注释

在JSP页面中可以嵌入代码片段,在代码片段中也可以加入注释。

单行注释语法:

//注释文本

多行注释语法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*
 *注释文本
 *注释文本
 *每行内容前的*为了美观对其,可以不用
 */

提示文档注释

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*
  提示信息
  会被Javadoc文档工具生成文档时读取
 */

隐藏注释

HTML类型注释会被解析到HTML源码中,为了安全,可以使用JSP的隐藏注释,只有在JSP源码中查看,不会解析到HTML。

语法:

<%-- 注释内容 --%>

动态注释

由于HTML注释对于JSP嵌入代码不起作用,可以使用他们的组合构成动态HTML注释文本。

eg:<!--<%=new Date()%> -->


动作标识

动作标识一共有三种,分别是include包含文件标识,forward请求转发标识,param传递参数标识。

包含文件标识

用于向当前页面中包含其他的文件,被包含的文件可以时动态或者静态文件。

语法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<jsp:include page="url" flush="false|true">
  // 子动作标识<jsp:param>
</jsp:include>

参数说明:

  • page:用于指定被包含文件的相对路径
  • flush:可选属性,用于设置是否刷新缓存区
  • <jsp:param>:子动作标识,用于向被包含的动态页面中传递参数

注意:

  • 区别于include指令通过file属性指定被包含的文件,并且file属性不支持任何表达式,<jsp:include>动作标识通过page属性指定被吧汗的文件,而且page属性支持jsp表达式。
  • include指令被包含的文件内容会原封不动的插入到包含页中,然后再便宜成一个最终java文件,<jsp:include>动作标识包含文件时,当该标识被执行时,程序会将请求转发到被包含的页面,会分别编译。
  • include中的变量名和方法名不允许冲突,<jsp:include>分别编译,不冲突

请求转发标识

通过<jsp:forward>动作标识,可以将请求转发到其他的web资源,例如一个jsp页面,html页面,servlet灯,执行请求转发后,当前页面将不再被执行,二是去执行该标识指定的目标页面.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<jsp:forward page="url">
  // 子动作标识<jsp:param>
</jsp:forward>

参数说明:

  • page:用于指定请求转发的目标页面,可以是文件路径,也可以是是文件路径的jsp表达式,但限制当前应用中的资源
  • <jsp:param>:子动作标识,用于向被包含的动态页面中传递参数

传递参数标识

JSP的动作标识<jsp:param>可以作为其他标识的子标识,用于其他标识传递参数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<jap:param name = "userId" value="7" />

注意: 通过<jsp:param>动作标识指定的参数,将以“参数名=值”的形式加入到请求中,与在文件名后面直接加?参数名=值是相同的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【JDK8 新特性4】方法引用
上一篇文章 :(16条消息) 【JDK8 新特性3】常用内置函数式接口_一切总会归于平淡的博客-CSDN博客
叫我阿杰好了
2022/11/07
2190
【JDK8 新特性4】方法引用
JDK8新特性
首先,要想明白Lambda表达式就要先明白函数式接口,所以,咱们先来了解一下什么是函数式接口吧!
星哥玩云
2022/09/14
1.4K0
JDK8新特性
JDK8新特性总结
Lambda表达式是一个新的语言特性,已经在JDK8中加入。它是一个可以传递的代码块,你也可以把它们当做方法参数。Lambda表达式允许您更紧凑地创建单虚方法接口(称为功能接口)的实例。
后端码匠
2019/09/02
1.2K0
JDK8中的新特性(Lambda、函数式接口、方法引用、Stream)
<font color=red>Java 8</font> (又称为 JDK 8或JDK1.8) 是 Java 语言开发的一个主要版本。 Java 8 是oracle公司于2014年3月发布,可以看成是自Java 5 以来最具革命性的版本。Java 8为Java语言、编译器、类库、开发工具与JVM带来了大量新特性。
鱼找水需要时间
2023/06/01
9280
JDK8中的新特性(Lambda、函数式接口、方法引用、Stream)
一文带你系统掌握JDK8新特性
JDK8是目前大部分公司中使用的Java开发版本,但是对于JDK8的一些新特性,即使一些入行一两年的小伙伴也未必掌握。由于笔者最近工作中用到了lambda表达式和stream流,于是就顺便写下这篇文章,希望对公众号的粉丝有一些帮助,也当作自己的学习笔记!
用户3587585
2022/09/21
4810
JDK8新特性总结
Lambda 需要一个参数,但是没有返回值。且 Lambda 若只需要一个参数时,参数的小括号可以省略。数据类型也可以省略,因为可由编译器推断得出,称为“类型推断”。
乐心湖
2021/01/18
3920
JDK8新特性总结
Java8新特性
Lambda 是一个匿名函数,可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使 Java 的语言表达能力得到了提升。
程序员Leo
2023/08/08
3920
Java8新特性
JDK8新特性_JDK8面试题
要求:接口必须是函数式接口,一个接口如果只有一个抽象方法,那他就是函数式接口,我们可以在一个接口上使用__Functionallnterface__注解
全栈程序员站长
2022/09/21
1.1K0
JavaSE:第十六章:java8新特性
##java8内容 1.Lambda表达式 ★ 2.函数式接口 ★ 3.方法引用 ★ 4.构造器引用|数组引用 ★ 5.StreamAPI ★ 6.接口中可以定义默认方法和静态方法 ★ 7.Optional类的引入:为了减少空指针异常【了解】 8.新日期API【了解】 9.重复注解【了解】 10.Nashone引擎的使用:在jvm上运行js【后面课程】
Java廖志伟
2022/08/01
6430
JDK1.8新特性之Lambda表达式
Java8中引入了一个新的操作符“ -> ”,该操作符被称为箭头操作符或Lambda操作符,箭头操作符将Lambda表达式拆分成两部分:
程序员波特
2024/01/19
1930
JDK1.8的新特性
JDK1.8已经发布很久了,在很多企业中都已经在使用。并且Spring5、SpringBoot2.0都推荐使用JDK1.8以上版本。所以我们必须与时俱进,拥抱变化。
框架师
2021/03/04
8930
JDK1.8的新特性
Java8新特性
Jdk8提供了java.util.function包,提供了常用的函数式功能接口。
牧晗
2020/06/05
1.1K0
【JDK1.8 新特性】方法引用,构造器引用
方法引用可以看做是Lambda表达式深层次的表达。换句话说,方法引用就是Lambda表达式,也就是函数式接口的一个实例,通过方法的名字来指向一个方法,可以认为是Lambda表达式的一个语法糖。
CODER-V
2023/03/08
3350
一次性实战java8 新特性(全)—— Lambda、Optional、stream、DateTime
本篇博客你将学到: 1.Lambda表达式 2.Optional类,告别空指针异常 3.Stream流式处理 4.时间处理LocalDate、LocalTime、LocalDateTime、ZonedDateTime、Clock、Duration 5.重复注解 6.扩展注释 7.更好的类型推荐机制 8.参数名字保存在字节码中 9.异步调用 CompletableFuture
源码之路
2020/09/03
2.6K0
JDK8 超详细,肝
Lambda表达式:依赖于函数式接口, 是对函数式接口的,另一种:实例化形式~👍 更简洁,难懂🙃
Java_慈祥
2024/08/06
3730
JDK8 超详细,肝
史上最全的Java8新特性总结,极大提高开发效率!
下面举例演示java.util.Comparator<T> 接口的使用场景代码,其中的抽象方法定义为:
小熊学Java
2023/07/12
1.5K0
史上最全的Java8新特性总结,极大提高开发效率!
JDK新特性-Lambda表达式的神操作
args -> expr或者(object … args)-> {函数式接口抽象方法实现逻辑}
全栈程序员站长
2021/04/07
2660
一文带你攻克JDK新特性
在国内,Java8 是当之无愧的普及率最高的 JDK 版本,从笔者工作开始, 就一直使用的是 JDK8 的版本,虽然现在 JDK19 即将面世,但是似乎依旧无法 动摇 JDK8 在国内的地位。这里面最主要的原因就是 JDK8 足够稳定,功能足够 优秀,而替换 JDK 版本会有潜在的风险。既然 JDK8 如此稳定,就意味着需要 很好的掌握 JDK8 中的特性,本次实验就会对 JDK8 做一个详细的介绍,并通过 一些简单例子做个基础的入门。
用户10216580
2023/01/10
2790
一文带你攻克JDK新特性
JDK8新特性--lambda表达式
lambda:编译后,不会产生一个单独的.class字节码文件。对应的字节码会在运行时动态生成
用户11010370
2024/03/06
1310
JDK15就要来了,你却还不知道JDK8的新特性!
现在 Oracle 官方每隔半年就会出一个 JDK 新版本。按时间来算的话,这个月就要出 JDK15 了。然而,大部分公司还是在使用 JDK7 和 8 。
烟雨星空
2020/09/08
9440
相关推荐
【JDK8 新特性4】方法引用
更多 >
LV.3
公众号:猫头虎技术团队职业: 全栈软件工程师
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档