JavaBean保姆级教程

简介: JavaBean保姆级教程

1. 什么是JavaBean


JavaBean 是一种JAVA语言写成的可重用组件。


为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 的属性。


JavaBean可分为两种:


  • 一种是有用户界面(UI,User Interface)的JavaBean;


  • 还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。


JSP通常访问的是后一种JavaBean,我们下面说的都是第二种Javabean。


注意:


  1. JavaBean类需要是public,这样外部才能够访问


  1. JavaBean类中的属性都需要进行封装,也就是将属性设置为private


  1. 如果封装的属性需要被外部操作,则需要写setter和getter方法


JavaBean类举例:


public class FirstBean {
    private String name;
    private int age;
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return this.name;
    }
    public int getAge() {
        return this.age;
    }
}


2. 使用JavaBean


2.1 使用JavaBean的好处


  1. 可以将html和java代码分离,后期维护更加方便


  1. 可以让代码得到复用


2.2 在JSP中如何使用JavaBean


注意需要在使用的地方引入JavaBean,引入JavaBean可以


  • 采用page的import


  • 也可以使用jsp的useBean(用的多)


使用page的import


//xiaoD是包名
<%@ page import="xiaoD.FirstBean" %>
<%
    FirstBean firstBean = new FirstBean();
    firstBean.setName("xiaoD");
    firstBean.setAge(21);
%>
<%=firstBean.getName() %>
<%=firstBean.getAge() %>


输出


xiaoD
21


使用jsp的useBean


<jsp:useBean id="firstBean" scope="request" class="xiaoD.FirstBean" />
<%
    firstBean.setName("xiaoD");
    firstBean.setAge(21);
%>
<%=firstBean.getName() %>
<%=firstBean.getAge() %>


输出


xiaoD
21


useBean使用注意:


这里的id是实例化以后的id,scope是对象的作用范围,可以取值为page,request,session,application。


  1. 如果我们在一个页面设置了其scope为page,那么跳转以后就获取不到了。


  1. 如果我们在一个页面设置了其scope为request,那么通过服务器跳转以后,如果想要获取,需要在获取的JSP页面也加上下面代码,指明作用范围


<jsp:useBean id="firstBean" scope="request" class="xiaoD.FirstBean" />


在jsp中删除JavaBean


(使用完成以后,不再使用了,需要删除)


//page范围的删除
pageContext.removeAttribute("实例对象的名称");
//request范围的删除
request.removeAttribute("实例化对象的名称");
//session范围的删除
session.removeAttribute("实例化对象的名称");
//application范围的删除
application.removeAttribute("实例化对象的名称");


3. 使用JSP标签设置和获取属性


3.1 设置属性


image.png


3.2 获取属性


<jsp:getProperty name="实例化对象的名称" property="属性名称" />


相关文章
|
XML 存储 JSON
JSON、JSONObject 与 JSONArray 详细介绍及其应用方式
JSON、JSONObject 与 JSONArray 详细介绍及其应用方式
4633 3
JSON、JSONObject 与 JSONArray 详细介绍及其应用方式
|
XML 缓存 前端开发
Thymeleaf一篇就够了
Thymeleaf是Springboot官方支持的模板引擎,有着动静分离等独有特点,通过本文简单学习下吧!
63057 24
Thymeleaf一篇就够了
|
前端开发 安全 Java
全栈开发实战|​电子商务平台的设计与实现(Spring Boot + MyBatis + Thymeleaf)
全栈开发实战|​电子商务平台的设计与实现(Spring Boot + MyBatis + Thymeleaf)
3215 0
全栈开发实战|​电子商务平台的设计与实现(Spring Boot + MyBatis + Thymeleaf)
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
8312 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
|
JSON 小程序 JavaScript
超详细微信小程序开发学习笔记,看完你也可以动手做微信小程序项目
这篇文章是一份全面的微信小程序开发学习笔记,涵盖了从小程序介绍、环境搭建、项目创建、开发者工具使用、文件结构、配置文件、模板语法、事件绑定、样式规范、组件使用、自定义组件开发到小程序生命周期管理等多个方面的详细教程和指南。
|
11月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
|
安全 数据安全/隐私保护 Android开发
探索Android 12中的隐私保护特性
随着数字化时代的到来,个人隐私保护成为全球关注的焦点。Android作为广泛使用的操作系统之一,其在最新发布的Android 12版本中引入了多项隐私保护功能。本文将深入探讨这些新特性如何增强用户数据的安全性,以及它们对应用开发者和普通用户的具体影响。
366 30
|
机器学习/深度学习 人工智能 自然语言处理
大模型的特点、重要概念及工作方式详解
大模型是具有大量参数和复杂结构的深度学习模型,通过处理大量数据实现高效任务解决。其特点包括参数规模庞大、深层网络结构、预训练与微调、多任务学习和自适应能力。重要概念有注意力机制、Transformer架构、迁移学习和分布式训练。大模型的工作方式包括输入处理、特征提取、预测与损失计算、反向传播与优化,以及评估与微调。这些特性使其在自然语言处理、计算机视觉等领域取得显著进展。
3610 0
|
存储 缓存 JSON
详解HTTP四种请求:POST、GET、DELETE、PUT
【4月更文挑战第3天】
70631 5
详解HTTP四种请求:POST、GET、DELETE、PUT
|
网络协议 算法 数据库
搞清RIP和OSPF的区别,这是我见过最好的总结!
搞清RIP和OSPF的区别,这是我见过最好的总结!
980 0