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

【 <一> 炼丹初探:JavaWeb 的起源与基础】之 JSP 基础语法:从脚本片段到 EL 表达式

<前文回顾>

点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12907601&sharerefer=PC&sharesource=FoyoDesigner&sharefrom=from_link

<今日更新>

一、JSP 是啥玩意儿?

JSP[1] 这玩意儿,说白了就是个“披着 HTML 外衣的 Java”。它能让开发人员在 HTML 里直接写 Java 代码,生成动态网页。虽然现在 JSP 已经有点“过气”了,但不少老系统还在用它,所以掌握 JSP 基础还是“有备无患”。

二、JSP 的“三板斧”:脚本片段、声明、表达式

JSP 的基础语法主要分三块:脚本片段声明表达式。这三块儿就像“三板斧”,掌握了它们,JSP 就能“耍”得风生水起。

1. 脚本片段

脚本片段是 JSP 里最常见的玩意儿,它能让开发人员在 HTML 里直接写 Java 代码。脚本片段用 <% %> 包裹,里头写的 Java 代码会在 JSP 页面被请求时执行。

Jsp Code

<%

    String name = "张三";

    out.println("你好," + name);

%>

脚本片段虽然好用,但写多了容易“乱套”,HTML 和 Java 代码混在一起,看得人“眼花缭乱”。所以,现在大家都提倡“少用脚本片段,多用 EL 表达式”。

2. 声明

声明是 JSP 里用来定义变量和方法的地方。声明用 <%! %> 包裹,里头写的 Java 代码会被编译成 Servlet 的成员变量和方法。

Jsp Code

<%!

    private int count = 0;

    public void increment() {

        count++;

    }

%>

声明虽然能定义变量和方法,但用多了容易“惹麻烦”,因为 JSP 是单例的,多个请求共享同一个实例,变量和方法可能会“打架”。

3. 表达式

表达式是 JSP 里用来输出内容的地方。表达式用 <%= %> 包裹,里头写的 Java 代码会被执行,结果会被输出到 HTML 里。

Jsp Code

<%= "当前时间:" + new java.util.Date() %>

表达式虽然简单,但用起来得“小心”,因为里头写的 Java 代码会被直接输出到 HTML 里,容易引发安全问题。

三、JSP 的“进阶玩法”:EL 表达式

JSP 的脚本片段虽然好用,但写多了容易“乱套”。于是,JSP 2.0 引入了 EL 表达式[2],让开发人员能更方便地访问数据。

1. EL 表达式的基本语法

EL 表达式用 ${} 包裹,里头写的表达式会被解析并输出到 HTML 里。EL 表达式能访问 JavaBean、Map、List 等数据结构,还能调用方法。

Jsp Code

${user.name}

EL 表达式比脚本片段“清爽”多了,写起来也“顺手”,所以现在大家都提倡“少用脚本片段,多用 EL 表达式”。

2. EL 表达式的隐式对象

EL 表达式里有一些“隐式对象”,能方便地访问请求参数、会话数据啥的。这些隐式对象就像“工具箱”,开发人员能“随用随取”。

  • pageContext:访问 JSP 页面的上下文。
  • request:访问 HTTP 请求的参数和属性。
  • session:访问 HTTP 会话的数据。
  • application:访问 Web 应用的全局数据。

Jsp Code

${requestScope.user.name}

3. EL 表达式的运算符

EL 表达式支持各种运算符,能方便地进行算术运算、逻辑运算啥的。这些运算符就像“小工具”,开发人员能“灵活使用”。

  • 算术运算符:+、-、*、/、%
  • 关系运算符:==、!=、<、>、<=、>=
  • 逻辑运算符:&&、||、!

Jsp Code

${user.age > 18 ? "成年" : "未成年"}

四、JSP 的“老底”:虽然过气,但还有用

虽然现在 JSP 已经有点“过气”了,但不少老系统还在用它。这些老系统就像“老房子”,虽然“旧”了点,但“拆”起来麻烦,所以还得“修修补补”继续用。

1. 旧系统的“遗产”

不少老系统都是用 JSP 开发的,虽然现在大家都用 Spring Boot、Vue.js 这些新技术了,但这些老系统还得“维护”。所以,掌握 JSP 基础还是“有备无患”。

2. JSP 的“替代品”

虽然 JSP 已经“过气”了,但它的“替代品”也不少。比如 Thymeleaf、Freemarker 这些模板引擎,都能用来生成动态网页。这些模板引擎比 JSP “清爽”多了,写起来也“顺手”。

五、JSP 的“历史”:从 JSP 1.0 到 JSP 2.3

JSP 从 1999 年诞生到现在,已经走过了 20 多个年头。虽然现在 JSP 已经有点“过气”了,但它的“历史”还是挺“辉煌”的。

1. JSP 1.0:初出茅庐

JSP 1.0 在 1999 年发布,是 JSP 的“初代版本”。JSP 1.0 虽然功能简单,但已经能用来生成动态网页了。

2. JSP 2.0:引入 EL 表达式

JSP 2.0 在 2003 年发布,引入了 EL 表达式,让开发人员能更方便地访问数据。JSP 2.0 的发布,让 JSP 的“玩法”更加丰富。

3. JSP 2.3:最后的“辉煌”

JSP 2.3 在 2013 年发布,是 JSP 的“最后版本”。JSP 2.3 虽然功能强大,但已经有点“过气”了,因为大家都开始用 Spring Boot、Vue.js 这些新技术了。


专有名词解释

  1. JSP:JavaServer Pages,一种基于 Java 的技术,用于创建动态 Web 页面。
  2. EL 表达式:Expression Language,一种用于在 JSP 页面中访问数据的表达式语言。

相关文章:

  • 社会力模型:Social force model for pedestrian dynamics
  • 苹果手机备忘录怎么导入安卓手机?
  • 【C#】Clipboard中SetImage(BitmapSource image)的用法
  • Docker 安装与使用
  • 竞争只属于失败者
  • 探索文件IO奥秘:初识文件
  • Java 第十一章 GUI编程(2)
  • C与C++中inline关键字的深入解析与使用指南
  • 景联文科技:以专业标注赋能AI未来,驱动智能时代的精准跃迁
  • Java 大视界 -- Java 大数据在智能金融反欺诈中的技术实现与案例分析(114)
  • 靶场(二)---靶场心得小白分享
  • Stable Diffusion模型高清算法模型类详解
  • ifconfig 不显示 Linux 虚拟机常规网卡的 IP 地址
  • # Kouplele (5)
  • docer swarm集群部署springboot项目
  • 详细分析KeepAlive的基本知识 并缓存路由(附Demo)
  • 使用easyocr、PyPDF2对图像及PDF文档进行识别
  • 探秘 Linux 系统编程:进程地址空间的奇妙世界
  • 基于EM期望最大化算法的GMM参数估计与三维数据分类系统python源码
  • SP导入模型设置
  • 内容营销的步骤/独立站seo建站系统
  • 网页版qq下载/网站为什么要做seo
  • 专业的聊城做网站费用/semantic ui
  • 现在有人还做网站吗/免费推广网站2023
  • 网站开发外包报价/网站seo推广员招聘
  • 百度站长平台推出网站移动化大赛/沈阳seo排名优化软件