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

JavaBean

一、什么是 JavaBean?

JavaBean 本质就是符合特定规范的 Java 类,是 Java Web 中用来封装数据的标准组件,核心作用是「数据载体」,就像一个装数据的容器。

二、实战:编写 Student 和 User 两个 JavaBean

我们先写两个最基础的 JavaBean,Student.javaUser.java

1. Student 实体类

package com.example.javabean2; /* 1. 类名和文件名保持一致,类名的首字母大写 2. 学号、姓名、年龄,专业是属性,属性名首字母小写,如果由多个单词组成,采用首字母小写的驼峰式 3. 属性的访问权限是private,私有的 4. 对于私有属性,需要设置get、set方法get方法取值。set方法设置值:get+属性名----驼峰式 5. 构造方法:根据类创建对象时调用的方法。 系统默认会提供一个无参的构造方法。 javabean的要求: 每一个属性都有相应的get和set方法。 */ public class Student { private String no; private String name; // stuName private int age; private String sdept; public String getNo(){ return no; } public void setNo(String no){ this.no = no; //no=no1; //this.no = no1 } public String getName(){ return name; } public void setName(String name){ this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSdept(){ return sdept; } public void setsdept(String sdept){ this.sdept = sdept; } //构造方法:构造方法名和类名相同,构造方法没有返回值。 //系统默认提供了无参的构造方法,但是只要你自己写了构造方法,那么就没有这个 //构造方法可以根据需要写多个 public Student(String no,String name,int age,String sdept){ this.no=no; this.name=name; this.age=age; this.sdept=sdept; } public Student(){ } public Student(String no,String name,int age){ this.no=no; this.name=name; this.age=age; } }

2. User 实体类

package com.example.javabean2; public class User { private Integer userId; private String userName; private String userPwd; private String phone; private String email; public Integer userId(){ return userId; } public Integer getUserId() { return userId; } public String getUserName() { return userName; } public String getUserPwd() { return userPwd; } public String getPhone() { return phone; } public String getEmail() { return email; } public void setUserId(Integer userId) { this.userId = userId; } public void setUserName(String userName) { this.userName = userName; } public void setUserPwd(String userPwd) { this.userPwd = userPwd; } public void setPhone(String phone) { this.phone = phone; } public void setEmail(String email) { this.email = email; } }

3. Main 类测试 JavaBean

写好实体类后,我们可以在 Java 中直接实例化使用,验证构造方法和 getter/setter 是否正常:

三、JSP 中操作 JavaBean

实战:first.jsp 登录验证

四、JSP 表单提交与 EL 表达式获取参数

1. login.jsp 登录表单

2. unit44.jsp 用 EL 表达式获取表单参数

核心知识点:param对象

param是 EL 表达式的内置对象,专门用来获取请求参数,等价于request.getParameter("参数名")

语法:${param.参数名},如果参数名有特殊字符,用${param["参数名"]}

优势:自动处理空值,参数不存在时不会报错,直接输出空字符串,比原生 Java 脚本更安全

3. second.jsp 用脚本创建对象 + EL 表达式展示

除了标签,我们也可以用 Java 脚本创建对象,再用 EL 表达式简化取值:

五、EL 表达式基础:简化 JSP 取值

EL 表达式(Expression Language)是 JSP 2.0 引入的,核心作用是简化数据获取,替代繁琐的<% %>脚本,语法是${表达式}

1. EL 表达式的基础运算

2. EL 表达式的核心优势

自动从四大作用域(page、request、session、application)中查找数据,不用手动写request.getAttribute()

内置param对象,一键获取请求参数,替代request.getParameter()

自动处理空指针,属性为 null 时不会报错,直接输出空字符串

语法简洁,大幅减少 JSP 中的 Java 脚本,让页面更易维护

六、总结

JavaBean 是 Java Web 的数据基础,负责封装业务数据;JSP 是视图层技术,负责展示数据;EL 表达式是 JSP 的「简化工具」,让页面代码更简洁,其中param对象更是表单开发的神器。

http://www.jsqmd.com/news/637283/

相关文章:

  • TexLive极简安装法:5分钟搞定基础版+中英文支持(附磁盘空间不足解决方案)
  • 2026年靠谱的免烧透水砖长期合作厂家推荐 - 品牌宣传支持者
  • Spring AI Alibaba 1.1
  • JAVA基于SSM/Vue/Springboot的大学生兼职网站-益兼职 LW
  • 光伏逆变器高效转换的秘密:耐高温PCB技术解析
  • ESP32驱动ST7789 LCD与FT6336U触摸屏:从硬件选型到LVGL界面旋转的实战指南
  • 深度解析:字节跳动 In-Place TTT 是如何让现有 LLM 瞬间掌握“边考边学”超能力的?
  • 别再手动改宏定义了!用Keil Configuration Wizard给你的.h文件加个可视化界面
  • 2026年比较好的威海全日制美发学校实力推荐 - 品牌宣传支持者
  • PDE (Processing D Editor) 三维场景编辑器 · 软件白皮书 · 基于 v..撤
  • JAVA基于SSM/Vue 智能台球厅系统 LW
  • 保姆级排查指南:Ubuntu上不了网,IP老是127.0.0.1的5种原因和解决方法
  • Harness Engineering:智能体决策日志留存
  • 差分放大器设计实战——如何优化小信号采集的共模抑制比
  • 口碑力荐|2026 年 4 月 GEO 优化公司 TOP5 综合竞争力排行
  • AI伦理自学路径:免费资源大全——软件测试从业者的专业指南
  • 滑动均值滤波算法
  • 末端用电的“安全卫士”——从限流保护到故障电弧探测
  • 从Naive到Double Buffering:手把手教你用CUDA C++一步步优化GEMM Kernel(附完整代码)
  • 撕下通信工程的“天书”伪装:60秒用大模型跑通 5G 网络的 AutoRAN 深度解析
  • 【笔试真题】- 网易-2026.04.12
  • # 发散创新:用Python实现化学分子结构的自动计算与可视化分析在现代化学研究中,**分子结构的
  • 深度学习学习路线:六周攻克核心理论
  • 内存泄漏定位
  • 园区应急指挥无感定位与三维态势一体化调度技术白皮书
  • 从理论到硅片:二值化CNN在FPGA上的高效部署实践
  • Vibe Coding 时代:为什么你不应该盲目启用 AI 编码插件
  • 开发者冥想指南:提升代码质量的秘密
  • **无服务器计算新范式:用Python 构建事件驱动的云函数自动化流水线**在当今微服务架构和 DevOps 流程日益成熟的背景下,*
  • STM32 实战:基于SFUD与FAL抽象层为FlashDB适配外部Flash(SPI/QSPI)