`

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");
 

 

 

分享到:
评论

相关推荐

    JavaWeb中JavaBean的使用

    主要包括什么是JavaBean,定义规则,如何使用以及EL表达式和JSTL标签库; 课堂笔记,大学生,初学者; JavaWeb,JavaBean,EL表达式,JSTL标签库相关代码;

    javaweb+javabean+serverlet

    javaweb期末课程设计,基于jsp+javabean+serverlet,是一个基于JSP、JavaBean和Servlet的JavaWeb应用程序。它旨在提供一个用户友好的界面,使用户能够完成投票。 技术实现: JSP:用于创建用户界面,包括展示投票...

    轻松学JavaWeb开发之JavaBean基础优秀PPT.pptx

    "JavaBean基础知识点总结" JavaBean是Java语言编写的可重用组件,JSP可以...JavaBean是JavaWeb开发中一个非常重要的组件,通过JavaBean可以实现封装数据库操作、提高代码的可重用性等功能,从而提高开发效率和质量。

    轻松学JavaWeb开发之JavaBean基础PPT学习教案.pptx

    理解并熟练掌握JavaBean的创建和使用是JavaWeb开发的基础,这有助于构建可维护和可扩展的Web应用程序。通过遵循JavaBean规范,我们可以将复杂的功能分解为独立的组件,便于复用和组合,提高代码的清晰度和效率。同时...

    JavaWeb程序设计入门课件初识JavaBean共7页

    JavaBean是JavaWeb开发中的一个重要概念,尤其对于初学者而言,理解并掌握JavaBean的基本原理和使用方法是入门的关键。 JavaBean是一种特殊的Java类,遵循特定的设计规范,用于封装业务逻辑和数据,便于在JavaWeb...

    javaWEB项目:新生管理系统(Servlet+JSP+JavaBean).zip

    javaWEB项目:新生管理系统(Servlet+JSP+JavaBean) javaWEB项目:新生管理系统(Servlet+JSP+JavaBean) javaWEB项目:新生管理系统(Servlet+JSP+JavaBean) javaWEB项目:新生管理系统(Servlet+JSP+JavaBean) ...

    JavaWeb开发技术-认识JavaBean.pptx

    JavaBean 是JavaWeb开发中的一个重要概念,它是一种符合特定编码规范的Java类,主要用于封装数据和业务逻辑,便于在Web应用程序中复用和传递。JavaBean的命名规则、属性访问方式以及其在JavaWeb开发中的作用是理解...

    javaweb bbs留言板 java+javabean

    本项目采用Java和JavaBean技术,结合数据库操作,实现了数据的增删查改功能,是学习JavaWeb开发的重要实践。 一、JavaWeb基础 JavaWeb是指使用Java技术来开发Web应用程序的一种方式,它包括Servlet、JSP(Java...

    javaWeb新闻发布管理系统(JSP+javabean+jdbc+mysql)

    javaWeb新闻发布管理系统(JSP+javabean+jdbc+mysql) javaWeb新闻发布管理系统(JSP+javabean+jdbc+mysql) javaWeb新闻发布管理系统(JSP+javabean+jdbc+mysql) javaWeb新闻发布管理系统(JSP+javabean+jdbc+...

    Javaweb:JavaBean实验

    1、 创建学生成绩的表单页面,并创建对应的JavaBean,在JSP页面中使用标签来设置和读取属性 2、 在多个页面间测试JavaBean的作用范围,通过实验对scope为page,request,session,application加强理解

    基于JSP+JavaBean+Mysql+JDBC+Servlet实现javaWeb登录注册

    在本项目中,“基于JSP+JavaBean+Mysql+JDBC+Servlet实现javaWeb登录注册”是一个典型的Java Web应用程序,它使用了多种核心技术来构建一个完整的用户管理系统,包括用户登录和注册。以下是对这些技术及其在项目中的...

    JavaWeb图书管理系统servlet+JSP+javabean 无框架适合新手

    【JavaWeb图书管理系统】是一个基于Java技术的Web应用程序,它主要使用了Servlet、JSP和JavaBean这三种核心技术,特别适合初学者进行学习和实践。这个系统为用户提供了一个方便的平台,可以进行图书的借阅、归还、...

    JavaWeb_Ireport_Jasper_JavaBean_Mysql

    JavaWeb技术是基于Java平台的Web开发技术,它包括Servlet、JSP、JavaBean等组件,用于构建动态网站。在本项目"JavaWeb_Ireport_Jasper_JavaBean_Mysql"中,开发者使用了这些技术来实现一个数据驱动的报表系统。 ...

    李兴华JavaWeb培训经典笔记

    "JavaBean.pdf"这部分内容则会深入到JavaBean规范,讲解什么是JavaBean,如何创建符合标准的JavaBean,以及在JavaWeb开发中如何使用Bean进行数据封装和业务逻辑处理。 总的来说,这份《李兴华JavaWeb培训经典笔记》...

    javaweb 学校管理系统 jsp+servlet+javabean.zip

    javaweb 学校管理系统 jsp+servlet+javabean javaweb 学校管理系统 jsp+servlet+javabean javaweb 学校管理系统 jsp+servlet+javabean javaweb 学校管理系统 jsp+servlet+javabean javaweb 学校管理系统 jsp+servlet...

    一个纯jsp+Javabean+mysql的学生信息管理系统,比较适合Javaweb初学者

    本篇文章将深入探讨一个纯JSP+Javabean+MySQL构建的学生信息管理系统,旨在为JavaWeb新手提供详尽的学习资源。 首先,我们要理解这个系统的架构。JSP(JavaServer Pages)是一种动态网页技术,允许开发者在HTML中...

    员工考勤管理系统 为 学校JavaWeb项目课所写项目,使用JSP+JavaBean+Servlet 三层架构.zip

    员工考勤管理系统 为 学校JavaWeb项目课所写项目,使用JSP+JavaBean+Servlet 三层架构 员工考勤管理系统 为 学校JavaWeb项目课所写项目,使用JSP+JavaBean+Servlet 三层架构 员工考勤管理系统 为 学校JavaWeb项目课...

    JavaWeb12-文件上传.rar

    JSP+servlet+javabean学习 里面有PDF文件对该章节的详细讲解,培训老师才讲的到的,非常详细......资源内容如下: JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与...

    JavaWeb之EL表达式

    **JavaWeb之EL表达式详解** 在JavaWeb开发中,EL(Expression Language,表达式语言)是一种用于获取和设置JavaBean属性的简洁语法。EL的主要目的是简化页面中的数据绑定,提高开发效率,使得开发者能够更加专注于...

    网上订餐系统(jsp,servlet,javabean开发的javaweb程序)

    本文将深入探讨一个由JSP、Servlet和JavaBean开发的JavaWeb程序,解析其背后的技术原理和实现机制。 首先,JSP(JavaServer Pages)是Java平台上的动态网页技术,它允许开发者在HTML代码中嵌入Java代码,实现了...

Global site tag (gtag.js) - Google Analytics