javaWeb之JavaBean

1,什么是JavaBean?

   JavaBean是使用java语言开发的一个可重用的组件,在JSP开发中使用javaBean可减少重复代码,使用整个JSP会更加简洁,逻辑清晰;jsp和JavaBean联合使用有以下好处:

  • 可将页面(html,jsp等等)和java代码分离,这样日后的维护比较方便;
  • 可利用JavaBean的有点,将常用的程序写成JavaBean组建,当JSP使用时,只要调用JavaBean组件来执行用户所需要的功能即可;

   在jsp中如果要应用jsp提供的JavaBean的标签来操作简单类,则此类必须要满足一下条件:

  1. 所以的类必须放在一个包(package)中,在WEB中没有包的类是不存在的;
  2. 所有的类必须声明为一个public 的class,这样才能被外部访问;
  3. 类中所有的属性都必须进行封装,即使用private声明;
  4. 封装的属性如果需要被外部所操作,则必须编写对应的setter,getter方法;
  5. 一个javaBean中至少要存在一个无参构造方法,此方法为jsp中的标签所使用;

例如有这样一个JavaBean:

package com.keith.bean;
public class TUser {
	private String name;
        private int age;
	public TUser() {
	}
	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;
        }
}

 这就是一个Bean,其实他就是一个普通的java类而已,还有以下几种称呼:

  • POJO(Plain Ordinary Java Objects):简单java对象;
  • VO(Value Object):用于传递值的操作上;
  • TO(Transfers Object):传输对象,进行远程传输时,对象所在的类必须实现java.io.Serializable接口;

他们并没有什么本质上的不同,都是表示同一种类型的Java;

2,使用JSP的page指令导入所需要的JavaBean:

一个开发完后的JavaBean,可以用<%@ page %>指令导入;

使用刚刚定义的JavaBean,看实例:

<%@ page import="com.keith.bean.*" %>
<%
 //实例化TUser
 TUser user = new TUser();
	//通过setter()方法给其赋值
	user.setName("keith");
	user.setAge(21);
 %>
<%-- 通过getter()取值 --%>
姓名:<%=user.getName() %><br />
年龄:<%=user.getAge() %><br />

 看下页面的输出:

姓名:keith
年龄:21

 3,使用<jsp:userBean />指令

除了使用

<%@ page import="com.keith.bean.*" %>

来找到Bean,还可以使用<jsp:userBean>指令;其语法是:<jsp:useBean id="" scope="" class=""></jsp:useBean>

  • id:表示实例化对象的名称;
  • scope:表示此对象的保存范围;
  • class:表示对象对应的包,类名称;

所有引入:

<jsp:useBean id="user" scope="page" class="com.keith.bean.TUser"></jsp:useBean>

 和

<%@ page import="com.keith.bean.TUser" %>

 效果是一样的;每次修改Bean以后,需要重新启动服务器,Bean才能被刷新加载进来;

为什么<jsp:userBean>指令可以直接进行对象实例化?依靠的是反射机制完成;

特点!JavaBean的特点在于与表单的交互上,可以直接通过request.getParameter()完成对对象的设置!

4,JavaBean的保存范围

   <jsp:useBean>指令上存在一个scope属性,表示一个JavaBean的保存范围,一共有4中:

  • page:保存在一页的范围中,跳转后此JavaBean无效;
  • request:一个JavaBean对象可以保存在一次服务器跳转的范围中;
  • session:在一个用户的操作范围中保存,重新打开浏览器时才会声明新的JavaBean;
  • application:在整个服务器上保存,在服务器关闭时才会消失;

测试:有一个count的类:

package com.keith.bean;
public class Conut {
 private int count = 0;
	public Conut() {
		System.out.println("----------一个新的Count对象产生-------------");
	}
	/**
	 * 每次自增后返回
	 * @return
	 */
	public int getCount() {
		return ++ this.count;
	}
	public void setCount(int count) {
		this.count = count;
	}
}

 测试page范围(只在本页有效,跳转后无效)的JavaBean:

count.jsp:

<jsp:useBean id="ct" class="com.keith.bean.CountBean" scope="page"/>
<body>
第:<jsp:getProperty property="count" name="ct"/>次访问!
<a href="count1.jsp">跳转到另一个JSP</a>
</body>

 count1.jsp:

<jsp:useBean id="ct" class="com.keith.bean.CountBean" scope="page"/>
<body>
第:<jsp:getProperty property="count" name="ct"/>次访问!
</body>

 当我们分别访问count和count1时候,在控制台会输出2次:----------一个新的Count对象产生-------------;

测试request范围的JavaBean:

<jsp:useBean id="ct" class="com.keith.bean.CountBean" scope="request"/>

 测试session范围的JavaBean:

<jsp:useBean id="ct" class="com.keith.bean.CountBean" scope="session"/>

 测试application范围的JavaBean:

<jsp:useBean id="ct" class="com.keith.bean.CountBean" scope="application"/>

  4,删除JavaBean!

对于不同范围的JavaBean;则根据不同而删除:

session.removeAttribute("count");
request.removeAttribute("count");
response.removeAttribute("count");
application.removeAttribute("count");
 

 

 

python数据处理与分析案例,python如何进行数据处理 大家好,本文将围绕基于python的数据处理案例展开说明,python数据处理与分析案例是一个很多人都想弄明白的事情,想搞清楚python如何进行数据处理需要先了解以下几个事情。大家好,小编来为大家解答以下问题,python数据处理案例步骤及其代码,python数据处理与分析教程,今天让我们一起来看看吧!哈喽~今天学习记录的是数据分析实训小案例。就用这个案例来好好巩固一下 python 数据分析三剑客。 阅读详情

相关推荐

Renesas:定时器输入捕获

一、PWM输入捕获 1、Smart Configurator配置 注意:在使用前,需要使能对应的定时器!否侧无法正常进行输入捕获! 2、脉冲宽度的获取 如何区分高低电平的脉冲宽度:最常用的方法就是在触发中断后,判断IO口的高低电平,来确认是上升沿触发的中断还是下降沿触发的中断。 若无法进入中断,可查看:Renesas:配置中断的常规流程 (1)中断方式(Smart Configurator生成的代码) #pragma interrupt r_Config_TAUB0_0_i...

不吃鱼的猫的博客 2481

java bean反射_JavaBean与反射(学习笔记)

JavaBean类型有以下三种:1、简单属性的JavaBean;2、绑定属性的JavaBean;3、约束属性的JavaBean。JavaBean是组成软件最小单位的组件。JavaBean的规范:1、JavaBean必须包含一个无参数的Public构造方法;2、JavaBean必须包含符合命名规范的get和set方法;3、JavaBean应该是可序列化的,实现Serializable接口;4、必须支...

weixin_39684495的博客 309

深度学习-算法工程师岗位面试常见问题及解答

一、相关的问题 深度学习优化学习方法(一阶、二阶) 一阶方法:随机梯度下降(SGD)、动量(Momentum)、牛顿动量法(Nesterov动量)、AdaGrad(自适应梯度)、RMSProp(均方差传播)、Adam、Nadam。 二阶方法:牛顿法、拟牛顿法、共轭梯度法(CG)、BFGS、L-BFGS。 自适应优化算法有哪些?(Adagrad(累积梯度平方)、RMSProp(累积梯度平方的滑动平均)、Adam(带动量的RMSProp,即同时使用梯度的一、二阶矩))。 梯度下降陷入局部最优有什么解决

nobles007820的博客 2924

JAVA Web入门之JavaBean的解析及使用

JAVA Web入门之JavaBean的解析及使用 包括设置和提取属性 javabean在JSP页面中应用 解决中文乱码 显示时间 将数组转换为字符换等等

showswoller的博客 1872

Eclipse在Mac上报错JNI_CreateJavaVM?可能是你的JDK架构搞错了(附Adoptium JDK下载指南)

本文深入解析了Mac(尤其是Apple Silicon芯片)上Eclipse启动时出现“JNI_CreateJavaVM”错误的根本原因,即JDK架构(aarch64与x86_64)不匹配。文章提供了详细的诊断步骤,并推荐通过下载并配置Eclipse Adoptium提供的aarch64版本JDK来彻底解决问题,同时附上清晰的配置指南。

weixin_29065659的博客 321

win11重装系统简易教程-小白也可以上手!

本文介绍一下win11系统重装的各个步骤,也作为记录供自己后面查看。附上我之前参考的一位知乎大神写的重装win10系统文章的地址本文用到的工具全部是,不需要下载第三方镜像文件(不是说这个不好,只是第三方的软件或镜像文件网上非常多,琳琅满目,小白需要筛选甄别,直接用官方的就比较省心,大神请自便~)

Sddqa的博客 1万+

JavaWeb中的JavaBean概述

1.JavaBean可认为是一个普通的对象类,该类必须有一个无参构造。 2.JavaBean的所有属性必须进行get/set封装,如果是bool属性,则需要用is进行封装。 3.javaBean在JSP中的使用如下: package Bean; public class loginBean { private String userName; private S

豆芽胡的博客 2812

七步设计高频变压器

七步设计高频变压器

m0_71394959的博客 5401

Java Web——JavaBean简介

基本概念 JavaBean: JavaBean是一种可重用的Java组件,它可以被Applet、Servlet、SP等Java应用程序调用.也可以可视化地被Java开发工具使用。它包含属性(Properties)、方法(Methods)、事件(Events)等特性。 JavaBean是一种软件组件模型,就跟ActiveX控件一样,它们提供已知的功能,可以轻松重用并集成到应用程序中的java...

无限迭代中...... 1173

实测对比:DECIMER、Img2Mol、MolScribe,哪个化学结构识别工具更靠谱?

化学结构识别(CSR)工具的核心任务是将分子结构图像转换为SMILES(Simplified Molecular Input Line Entry System)表示。这一过程需要克服图像质量差异、绘制风格变化以及特殊基团识别等挑战。三款工具采用不同的技术路线:DECIMER:基于EfficientNetV2+Transformer架构,优势在于处理标准期刊文献中的分子图示Img2Mol。

weixin_32576389的博客 346

自抗扰控制(ADRC)理论与工程实践:6.1 离散时间ADRC的推导

本文系统阐述了自抗扰控制(ADRC)的离散化方法,重点对比了前向欧拉法和基于零阶保持器(ZOH)的精确离散化两种方法。前向欧拉法计算简单但精度较低,稳定性受采样周期约束;ZOH法精度高但对大采样周期更鲁棒。文章详细推导了跟踪微分器、扩张状态观测器和控制律的离散形式,分析了采样周期选择的关键因素,为ADRC的数字实现提供了理论指导。

技术工作者 197

JavaWeb —— JavaBean 基础

【概述】 在 JavaWeb 开发过程中,为避免代码混乱,便于维护,JSP 页面应避免出现 Java 代码,因此令HTML 代码与 Java 代码相分离,将Java 代码单独封装成为一个处理某种业务逻辑的类,然后在 JSP 页面中通过 JSP 动作标签来调用相关的类,从而降低 HTML 代码与 Java 代码的耦合度,简化 JSP 页面,提高 Java 程序代码的重用性与灵活性。 这种与 ...

qq_41204918的博客 253

iqoo11如何获取root权限?

🏆本文收录于专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家!持续更新中,up!up!up!!

**My Coding Family** 5823

Javaweb系列10——JavaBean

🔥本篇概览:详细讲解了Javaweb系列10——JavaBean的方方面面。🌈⭕🔥

做一个善良的人,做好自己的事,如果愿意,再发一份光。 1004

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

JavaWeb JavaBean封装

目录 一.什么是JavaBean? 二.为什么需要JavaBean? 三.如何在JavaWeb中创建Java文件 四.完成模糊查询 1.封装连接数据库语句(放在dao包下方,DBHeper类) 2.在pojo包下创建一个新闻实体类 3.在dao包下方,创建操作类 4.去新闻系统中的新闻首页操作 总结 一.什么是JavaBean? JavaBean泛指的就是Java对象 Java:可以理解为是豆荚 Bean:豆子 二.为什么需要Jav...

m0_65725031的博客 1817

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

JavaWeb(JavaBean预习)

(1)在类路径(src)下建立文件db.properties,在该文件内存放数据库的基本信息:数据库驱动程序名,数据库连接字符串,数据库用户名称及其密码。JavaBean是Java Web程序的重要组件,它是一些封装了数据和操作的功能类,供JSP或Servlet调用,完成数据封装和处理等功能。(2)工具类(util.*):封装工具方法,方法通常为静态的,通过类名直接调用。(5)控制器类(controller.*):同页面打交道,接收用户请求,是连接页面和业务逻辑的桥梁,如下一章的servlet类。

Jsjendndn的博客 781

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JavaWeb——JavaBean技术

Javaweb——JavaBean 技术 JavaBean 的产生是为了达到框架与逻辑层的分离,体现面向对象编程的开发模式的同时,提高代码的可重用性,因为将 Java 代码单独封装成一个处理业务逻辑的类,可以降低 Java 代码和 HTML 之间的耦合度,JSP 页面也因此得以简化。

御承扬的博客 1596

javaweb之JavaBean笔记

JavaBean技术是javaweb程序的重要组成部分,是一个可重复使用的软件组织,是用java语言编写的、遵循一定标准的类。它封装了数据和业务逻辑,供JSP调用,完成对数据封装和数据处理等功能。 JavaBean设计 JavaBean的设计原则: (1)JavaBean是一个公共类 (2)JavaBean类具有一个公共的...

I'm your wrong princess 271

JavaWeb——初识JavaBean和ORM

文章目录JavaWeb——JavaBeanORMJavaBean程序示例访问JavaBean JavaWeb——JavaBean JavaBean 是特殊的 Java 类,使用 Java 语言书写,并且遵守 JavaBean API 规范。 JavaBean是一种实体类 JavaBean特定的写法 必须要有一个无参构造 属性必须私有化 必须有对应的get/set方法 ORM ORM(Object/Relational Mapping):对象-关系映射" ORM 就是通过实例对象的语法,完成关系型数据库的

万里顾一程的博客 751

JavaWeb之JavaBean

雏鸟飞翔之路 211

JavaWeb第4章JavaBean技术 课后习题

JavaWeb程序设计任务驱动教程主编:蓝敏周伟敏杨茜东北林业大学出版社课后习题 1.在JSP中调用JavaBean时不会用到的标记是(A) A.<javaBean> B.<jsp:useBean> C.<jsp:setProperty> D.<jsp:getProperty> 2.(C)是一个可以在一个或多个应用程序中重复使用的组件。 A.JSP页面 B.JavaMail C.JavaBean D.Servlet 3.JavaBe...

WHT869706733的博客 2565

JavaWeb同步学习笔记之五十五、JavaWeb_使用JavaBean

JavaWeb_使用JavaBean使用JavaBean 使用JavaBean 1.具体了解JavaBean就可以,基本上不再使用。每个JSP标签的代码等价于该标签下注释内的代码。 bean.jsp &amp;lt;%@page import=&quot;com.xs.javaweb.Customer&quot;%&amp;gt; &amp;lt;%@ page language=&quot;java&quot; contentType=&

q124xs的博客 201

JavaWeb【六、JavaBean】

简介 JavaBean是符合设计原则的Java类。好处是提高可复用性,减少冗余,增强可维护性。 JavaBean设计原则 共有类 无参共有构造 属性私有 getter和setter方法 JSP动作元素 为请求处理阶段提供信息,遵循XML语法,开始结束标签,属性。 动作元素共有5类: 1、与存取JavaBean有关 2、基本元素 3、与JSP Document有关 4、...

weixin_30925411的博客 80

JavaWeb学习笔记——javabean

   

weixin_33937913的博客 63

JavaWeb08(Application及JavaBean的安装)

一,Application 概念: 和上篇提到的cookie和session一样都是一种存储方式,cookie是将数据储存在浏览器中的前端,session是将数据存储在后端的,是会话级储存,而Application是应用级储存,数据是共享的。(项目中的界面都能打拿到Application,且数据都是一致的)。 案例:在线人数的计算 登陆人数可以变化,在上方显示当前登陆的人数 dologin.jsp界面(登陆处理界面) <%@page import="web_06.com.util.DBHelpe

m0_67333901的博客 280

JavaWeb之JavaBean(十三)

JavaWeb之JavaBean 实体类 JavaBean有特定的写法: 必须要有一个无参构造 属性必须私有化 必须有对应的get/set方法; 一般用来和数据库的字段做映射 ORM; ORM :对象关系映射 表—>类 字段–>属性 行记录---->对象 people表 id name age address 1 秦疆1号 3 西安 2 秦疆2号 18 西安 3 秦疆3号 100 西安 class People{ private int id;

qq_50231389的博客 184
上一篇: jsp之阶段性总结
下一篇: javaBean实例之注册验证
keithJava
博客等级 码龄16年 2粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值