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中的相关…

基础设施即代码(IaC):自动化基础设施管理的未来

随着云计算和大规模分布式系统的迅速发展,手动管理和配置基础设施的传统方式已逐渐跟不上快速迭代的步伐。于是,基础设施即代码(Infrastructure as Code,IaC)作为一种创新实践,成为现代运维管理的基础。IaC不仅提高了基础设施的配置速度,还提升了系统的一致性和可重复性…

Spring Cloud 微服务综述 | 含服务调用最佳实践

Spring微服务架构综述 微服务是一种架构风格&#xff0c;它将单一应用程序拆分为一组小型、独立的服务&#xff0c;每个服务实现特定的业务功能&#xff0c;并且可以独立部署。在Spring生态系统中&#xff0c;提到Spring微服务通常是指利用Spring Cloud框架进行开发。Spring C…

jvm虚拟机介绍

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

Java全栈经典面试题剖析8】JavaSE高级 -- 线程同步、 线程通信、死锁、线程池

目录 面试题3.44 多线程的同步方式 面试题3.45 多线程安全问题怎么解决 面试题3.46 当一个线程进入一个对象的一个synchronized方法后&#xff0c;其它线程是否可进入此对象的其它方法? 面试题3.47 简述synchronized与java.util.concurrent.locks.Lock的异同&#xff…

基于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

Xshell远程连接工具详解

Xshell是一款在Windows平台上运行的远程连接工具&#xff0c;它支持SSH1、SSH2以及Microsoft Windows平台的TELNET协议。Xshell通过互联网实现对远程主机的安全连接&#xff0c;帮助用户在复杂的网络环境中享受他们的工作。本文将详细介绍Xshell的溯源、最新版本以及它的优势。…

C++的相关习题(2)

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

springboot连接两个数据源,来回切换数据不能保存? 换事务

springboot连接两个数据源&#xff0c;来回切换数据不能保存&#xff1f; 解决方案 换事务 import org.springframework.transaction.annotation.Transactional; Transactional(propagation Propagation.REQUIRED, isolation Isolation.READ_COMMITTED)换为 import com.ba…

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…

多eSIM配置文件(MEP)

根据在fediverse上的一个回复&#xff0c;Google Pixel 7和8都应该支持MEP&#xff08;多eSIM配置文件&#xff09;。这一信息在Reddit上的一个帖子中似乎得到了确认&#xff0c;该帖子讨论了eSIM MEP和双eSIM功能。 如果您想进一步研究并检查是否可以通过DIAG&#xff08;诊断…

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

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