Web高级开发实验:EL基本运算符与数据访问

一、实验目的

掌握EL的定义,即Expression Language,用于提高编程效率。学习和掌握在开发环境中创建Java文件,并在jsp文件中使用EL表达式去调用其中的方法与属性等。

二、实验所用方法

上机实操

三、实验步骤及截图

1、创建javaweb项目,在src文件夹下创建myClasses包。在myClasses包下创建Student类,在该文件中编写代码,包含对象的两个属性stuname与stunon以及与private属性相对应的getter、setter方法;

 

package myClasses;public class Student {private String stuname;private String stuno;public  String getName(){return stuname;}public void setName(String name) {this.stuname = name;}public String getStuno() {return stuno;}public void setStuno(String no) {this.stuno = no;}
}

2、创建showStudent.jsp文件文件,在该文件中编写代码,实现Student类的实例化。并对实例化后的对象通过对应的get方法进行赋值,最终创建一个表格在表格中使用EL表达式实现对对应属性的获取:

<%@ page import="myClasses.Student" %><%--Created by IntelliJ IDEA.User: 学生Date: 2024/10/25Time: 13:12To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><%Student person=new Student();person.setName("林羡羡");person.setStuno("22111201");request.setAttribute("p",person);%>
</head>
<body>
<table><tr><td>姓名:</td><td>${p.name}<br></td></tr><tr><td>学号:</td><td>${p.stuno}</td></tr>
</table></body>
</html>

 3、当部署并启动包含这个类和与对应的jsp文件的Web应用后,用户可以使用浏览器访问的方式实现对对应类的实例化与使用EL表达式对对象属性的访问,此时浏览器会显示出对的EL表达式的获取的结果:

 

4、创建jsp文件scopeExam.jsp,在该文件中编写实现代码,完成在两个内置对象application、session中的添加属性并初始化,在application中设置一个applicatonMsg属性并对其赋值“Welcome Application”,在session中设置一个sessionMsg属性并对其赋值“Welcome Session!”

<%--Created by IntelliJ IDEA.User: 学生Date: 2024/10/25Time: 13:22To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<%application.setAttribute("applicationMsg","Welcome Application!");session.setAttribute("sessionMsg","Welcome Session!");
%>
</body>
</html>

 5、创建访问scopeExam.jsp的文件scopeExam02.jsp,在该文件中编写实现代码完成对前一个文件设置的属性的访问并且使用EL表达式:

<%--Created by IntelliJ IDEA.User: 学生Date: 2024/10/25Time: 13:24To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
application中的内容:${applicationScope.applicationMsg}<br>
application中的内容:${applicationMsg}<br>
session中的内容:${sessionScope.sessionMsg}<br>
session中的内容:${sessionMsg}<br></body>
</html>

 6、在IDEA中启动Tomcat服务器,在浏览器输入http:localhost:8080/test001/scopeExam.jsp访问jsp文件,实现对application和sessio两个属性的赋值。然后在浏览器输入在浏览器输http:localhost:8080/test001/scopeExam02.jsp,实现对两个内置对象中的属性的访问:

7、创建jsp文件operator.jsp,在该文件中编写实现代码,实现算术运算、逻辑运算与基本运算符运算:

<%--Created by IntelliJ IDEA.User: 学生Date: 2024/10/25Time: 13:32To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<%Integer a=10;Integer b=20;%>
------算数运算----<br>
加:${12+5} <br>
减:${20-8} <br>
乘:${5*6} <br>
除:${30/5}或${30/5} <br>
取余:${26%3}或${26 mod 3} <br>
------关系运算符---<br>
等于:${3==3}或${3 eq 3}<br>
不等于: ${3!=3}<br>
小于:${3<3}或${3 lt 3}<br>
大于:${3>3}或${3 gt 3}<br>
小于等于:${3<=3}或${3 le 3}<br>
大于等于:${3>=3}或${3 ge 3}<br>-----逻辑运算符----<br>
${true&&false}或${true and false}<br>
${true||false}或${true or false}<br>
${!false}或${not false}<br>条件运算符:${empty message?true:false}<br>
</body>
</html>

 8、在浏览器中输入网址http://localhost:8080/test001/operator.jsp后可以看到浏览器界面的运算结果:

四、实验总结

       通过本次实验,掌握了EL表达式的定义及其在Java Web开发中的应用。学会了在开发环境中创建Java文件,并在JSP文件中使用EL表达式来调用Java对象的方法与属性。EL表达式的使用简化了JSP页面的编写,提高了编程效率。同时,也了解了EL表达式的基本功能和注意事项,为今后的Java Web开发打下了坚实的基础。

 

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

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

相关文章

Springboot项目中常用注解

文章目录 Springboot相关注解EnableAspectJAutoProxy(exposeProxy true)内部实现机制 EnableTransactionManagementServletComponentScanMapperScan(basePackages {"com.xxx.mapper"})ComponentScan(basePackages{"*"})lombok Data注解Controller中的相关…

jvm虚拟机介绍

Java虚拟机&#xff08;JVM&#xff09;是Java语言的运行环境&#xff0c;它基于栈式架构&#xff0c;通过加载、验证、准备、解析、初始化等类加载过程&#xff0c;将Java类文件转换成平台无关的字节码&#xff0c;并在运行时动态地将其翻译成特定平台的机器码执行。 JVM的核心…

基于SSM农业信息管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;农业技术管理&#xff0c;种植户管理&#xff0c;农产品类型管理&#xff0c;农资订单管理&#xff0c;系统管理 种植户账号功能包括&#xff1a;系统首页&#xff0c;个人中心&a…

01C++书写hello world、注释、变量、常量

#include <iostream> using namespace std; int main()//main为一个程序的入口&#xff0c;每个程序都必须仅有一个 { cout<<"hello world"<<endl; } //#输出结果为 //单行注释的符号 /* 多行注释的符号 */ //变量创建的语法&#xff1a;数据类…

OpenAI GPT-o1实现方案记录与梳理

本篇文章用于记录从各处收集到的o1复现方案的推测以及介绍 目录 Journey Learning - 上海交通大学NYUMBZUAIGAIRCore IdeaKey QuestionsKey TechnologiesTrainingInference A Tutorial on LLM Reasoning: Relevant methods behind ChatGPT o1 - UCL汪军教授Core Idea先导自回归…

shodan2---清风

注&#xff1a;本文章源于泷羽SEC&#xff0c;如有侵权请联系我&#xff0c;违规必删 学习请认准泷羽SEC学习视频:https://space.bilibili.com/350329294 实验一&#xff1a;search 存在CVE-2019-0708的网络设备 CVE - 2019 - 0708**漏洞&#xff1a;** 该漏洞存在于远程桌面…

offset Explorer连接云服务上的kafka连接不上

以上配置后报连接错误时&#xff0c;可能是因为kafka的server.properties配置文件没配置好&#xff1a; 加上面两条配置&#xff0c;再次测试连接&#xff0c;成功 listeners和advertised.listeners

C++的相关习题(2)

初阶模板 下面有关C中为什么用模板类的原因&#xff0c;描述错误的是? ( &#xff09; A.可用来创建动态增长和减小的数据结构 B.它是类型无关的&#xff0c;因此具有很高的可复用性 C.它运行时检查数据类型&#xff0c;保证了类型安全 D.它是平台无关的&#xff0c;可移植…

Vue.js 组件开发教程:从基础到进阶

Vue.js 组件开发教程:从基础到进阶 引言 在现代前端开发中,Vue.js 作为一款流行的 JavaScript 框架,以其简单易用和灵活性赢得了开发者的青睐。Vue 组件是 Vue.js 的核心概念之一,理解组件的开发和使用对构建复杂的用户界面至关重要。本篇文章将详细介绍 Vue.js 组件的开…

NFS练习

一、实验目的 1、开放/nfs/shared目录&#xff0c;供所有用户查询资料 2、开放/nfs/upload目录&#xff0c;为192.168.xxx.0/24网段主机可以上传目录&#xff0c; 并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210 3、将/home/tom目录仅共享给192.168.xxx.xxx这台…

MySQL全文索引检索中文

MySQL全文索引检索中文 5.7.6版本不支持中文检索&#xff0c;需要手动修改配置 ft_min_word_len 1 &#xff0c;因为默认配置 4 SHOW VARIABLES LIKE ft%; show VARIABLES like ngram_token_size;配置 修改 MySQL 配置文件 vim /etc/my.cnf在配置的 [mysqld] 下面添加**ft_…

C++——string的模拟实现(上)

目录 引言 成员变量 1.基本框架 成员函数 1.构造函数和析构函数 2.拷贝构造函数 3.容量操作函数 3.1 有效长度和容量大小 3.2 容量操作 3.3 访问操作 (1)operator[]函数 (2)iterator迭代器 3.4 修改操作 (1)push_back()和append() (2)operator函数 引言 在 C—…

【C++单调栈 贡献法】907. 子数组的最小值之和|1975

本文涉及的基础知识点 C单调栈 LeetCode907. 子数组的最小值之和 给定一个整数数组 arr&#xff0c;找到 min(b) 的总和&#xff0c;其中 b 的范围为 arr 的每个&#xff08;连续&#xff09;子数组。 由于答案可能很大&#xff0c;因此 返回答案模 109 7 。 示例 1&#x…

RabbitMQ是一个开源的消息代理和队列服务器

RabbitMQ是一个开源的消息代理和队列服务器&#xff0c;它基于AMQP&#xff08;Advanced Message Queuing Protocol&#xff0c;高级消息队列协议&#xff09;协议实现&#xff0c;同时也支持其他消息协议如STOMP、MQTT等。作为一个可靠的消息传递服务&#xff0c;RabbitMQ在分…

了解光耦合器输入输出关系---腾恩科技

光耦合器&#xff0c;也称为光隔离器&#xff0c;是电子电路中必不可少的元件&#xff0c;主要用于在隔离部分之间传输信号&#xff0c;同时防止电噪声或高压影响敏感元件。其独特的设计使它们能够在没有直接电接触的情况下&#xff0c;弥合不同电压域之间的差距。在本文中&…

小柴冲刺软考中级嵌入式系统设计师系列二、嵌入式系统硬件基础知识(5)定时器和计数器

越努力&#xff0c;越幸运&#xff01; 兄弟们&#xff0c;要搬家到上海滴水湖了 职业生涯又迎来一次比较重要的变动 郑州->上海->上海临港 哈哈哈 flechazo 小柴冲刺软考中级嵌入式系统设计师系列总目录 一、硬件定时器 从硬件角度来看&#xff0c;定时器&#xf…

学习--图像信噪比

目录 图像信噪比 图像信噪比 图像信噪比的计算公式&#xff1a; 其中&#xff0c; M M M和 N N N分别表示图像长度和宽度上的像素数。 f ( i , j ) f(i,j) f(i,j) 和 g ( i , j ) g(i,j) g(i,j)分别是原始图像和去噪后的图像在点 ( i , j ) (i,j) (i,j)处的像素值。 信噪…

SYN590RL 300MHz至450MHz ASK接收机芯片IC

一般描述 SYN590RL是赛诺克全新开发设计的一款宽电压范围,低功耗,高性能,无需外置AGC电容&#xff0c;灵敏度达到典型-110dBm&#xff0c;300MHz”450MHz 频率范围应用的单芯片ASK或OOK射频接收器。 SYN59ORL是一款典型的即插即用型单片高集成度无线接收器&…

vue elementui el-table实现增加行,行内编辑修改

需求&#xff1a; 前端进行新增表单时&#xff0c;同时增加表单的明细数据。明细数据部分&#xff0c;可进行行编辑。 效果图&#xff1a; <el-card><div slot"header"><span style"font-weight: bold">外来人员名单2</span><…

代码随想录算法训练营第46期Day43

leetcode.322零钱兑换 class Solution { public: //无限个硬币->完全背包int coinChange(vector<int>& coins, int amount) {vector<int> dp(10010,INT_MAX);//dp代表的在某个数值下最小的硬币数&#xff0c;要求是最小的硬币数&#xff0c;所以初始值要尽可…