JavaBean的作用「建议收藏」

JavaBean的作用「建议收藏」javaBean 编辑JavaBean是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,long和class方法获取。众所周知,属性名称符合这种模式,其他Java类可以通过自省机制发现和操作这些JavaBean的属性。javaBean在MVC设计…

大家好,又见面了,我是你们的朋友全栈君。

javaBean

 
编辑

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,long和class方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 的属性。
javaBean在MVC设计模型中是model,又称模型层,在一般的程序中,我们称它为数据层,就是用来设置数据的属性和一些行为,然后我会提供获取属性和设置属性的get/set方法
MVC的概念,即M-model-模型:JavaBean;V-view-表现:JSP页面;C-control-控制和处理:Servlet。

jsp中使用javabean的好处如下:

1.提高代码的可复用性:对于通用的事务处理逻辑,数据库操作等都可以封装在JavaBean中,通过调用JavaBean的属性和方法可快速进行程序设计。	2.程序易于开发维护:实现逻辑的封装,使事务处理和显示互不干扰。	3.支持分布式运用:多用JavaBean,尽量减少java代码和html的混编。	4.可以便捷地传递数据

下面以一个例子来说明JavaBean的创建一级要遵循的规范:1、javabean类必须是public类 2、提供给JSP页面的调用方法必须富裕public访问权限 3、bean中属性必须给get和set方法 4、必须由空构造方法

package Server;import java.io.Serializable;public class Product implements Serializable{	private static final long serialVersionUID = 1L;	private String product_id;	private String product_name;	private double price;	private String info;		public Product()	{		super();	}	public void setPrice(double price) {		this.price = price;	}	public double getPrice() {		return price;	}	public void setInfo(String info) {		this.info = info;	}	public String getInfo() {		return info;	}	public void setProduct_id(String product_id) {		this.product_id = product_id;	}	public String getProduct_id() {		return product_id;	}	public void setProduct_name(String product_name) {		this.product_name = product_name;	}	public String getProduct_name() {		return product_name;	}	}

在页面中要导入相应的Bean类,并用<jsp:usebean>标签获取Bean对象
<jsp:useBean id=”自定义该Bean名字” class=”Bean类位置” scope=”Bean有效范围”/>
Bean有效范围:page、request、session、application
设置Bean属性<jsp:setProperty>,获取Bean属性<jsp:getProperty>
<jsp:setProperty name=”Bean的id” property=”Bean类属性名param=”表单参数名”/>
<jsp:getProperty property=”Bean类属性名” name=”Bean的id“/>

使用例子:

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ page import="java.util.*" %><%request.setCharacterEncoding("utf-8"); %><jsp:useBean id="product" class="Server.Product" scope="page" /><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>通过表单参数设置Bean属性值</title></head><body><form action="" method="post"><br>输入产品名称:<input type="text" name="product_name"/><br>输入产品编号:<input type="text" name="product_id"/><br>输入产品价格:<input type="text" name="price"><br>输入产品信息:<input type="text" name="info"><br><input type="submit" value="提交"></form><!-- 设置product名称 --><jsp:setProperty property="product_name" name="product" value="struts开发教程"/><br>产品名称是:<!-- 获取产品名称 --><jsp:getProperty property="product_name" name="product"/><%=product.getProduct_name() %><!-- 设置产品编号 --><jsp:setProperty property="product_id" name="product" value="111100123689"/><br>产品编号是:<!-- 获取产品编号 --><jsp:getProperty property="product_id" name="product"/><%=product.getProduct_id() %><!-- 设置产品价格 --><%double price=68.23;%><jsp:setProperty property="price" name="product" value="<%=price +23.67%>"/><br>产品价格是:<!-- 获取产品价格 --><jsp:getProperty property="price" name="product"/><!-- 设置产品信息 --><jsp:setProperty property="info" name="product" value="Structs开发教程是一本介绍秿Struct的专业书籍...."/><br>产品信息:<!-- 获取产品信息 --><jsp:getProperty property="info" name="product"/></body></html>
 其实所有的程序都可以写在jsp页面里,但是存在以下问题:1、执行效率低下;2、不安全,所有的程序都在jsp文件中可见,毫无知识保护可言;3、逻辑混乱。这样让JSP文件的逻辑很难懂。    于是提出了MVC模式,即将一些处理用的程序从JSP中分离出来,让JSP页面只负责显示,几乎是html,只不过可以动态的读取数据和进行少量的逻辑处理,比如循环、判断等。    可能不举例说你还是不懂,我就举个最简单的例子——留言板。    JSP的职责:从数据库取出数据,显示所有的留言信息(当中要用少量的,简单的逻辑处理:循环)、显示签写留言的页面(几乎全部都是html)。    Servlet的职责:接受签写留言页面提交过来的标单数据,进行数据检验,如果正确,则存入数据库并返回留言的显示页面;如果数据有误,给出错误提示后返回签写留言的页面。可以看到,这个就叫做逻辑处理。这些你也完全可以放在JSP中实现,但是用Servlet,其效率和安全性高多了,也让JSP页面变得很简洁明了。    JavaBean的职责:其实一般的留言板是不需要用到JavaBean的,但在这里,为了让你明白,还是牵强的把JavaBean用进来。所谓JavaBean,就是一个很简单的Java类,比如说,网上商城的所有商品是一个商品类,论坛中所有的帖子是一个帖子类,这里,留言板的所有留言是一个留言类,叫做Message类。每个类有着它特定的属性和方法。对于Message类,其属性有主题、内容、日期、留言者等,其方法可以有添加留言、删除留言、修改留言等。使用JavaBean,主要是为了让JSP编程能够适应Java程序员的习惯,直接对类和实例进行操作,而不是直接去操作数据库。




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160631.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • es6之Promise是什么「建议收藏」

    es6之Promise是什么「建议收藏」Promise的含义Promise是一个容器,内部保存着某个未来才会结束的事件(通常是一个异步操作)的结果。Promise也是一个对象,可以通过这个对象获取异步操作的消息。Promise的特点:对象的状态不受外部影响,只有异步操作的结果才能决定状态。一共有三种状态:pending(进行中)、fulfilled(成功的)和rejected(失败的)。对象的状态发生改变后,不会再变化,并且随时可以得到这个结果。对象的状态改变只有两种情况:pending=》fulfilled,pending=》reje

    2022年5月29日
    34
  • 说一下CAS锁机制?「建议收藏」

    1.CAS(CompareandSwap比较并交换),是一种无锁算法,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其他线程都失败,失败的线程并不会挂起,而是被告知这次竞争中失败,并可以再次尝试。2.CAS算法涉及到三个操作数a.需要读写的内存位置(V)b.进行比较的预期原值(A)c.拟写入的新值(B)3.如果内存位置V的值与预期原值A相匹配,那么处理器会自动将该位置值更新为新值B,否则处理器不做任何操作。java多线程总结篇4——锁机制…

    2022年4月17日
    50
  • Centos安装MySQL5.7

    Centos安装MySQL5.7

    2021年6月1日
    119
  • WPF依赖属性(wpf 依赖属性)

    一、什么是依赖属性依赖属性就是一种自己可以没有值,并且可以通过绑定从其他数据源获取值。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。将所有的属性都设置为依赖属性并不总是正确的解决方案,具体取决于其应用场景。有时,使用私有字段实现属性的典型方法便能满足要求。MSDN中给出了下面几种应用依赖属性的场景:1.希望可在样式中设置属性。2.希望属性支持数据绑定。3.希望可使…

    2022年4月11日
    30
  • log4cpp学习

    log4cpp学习1、linux下log4cpp的下载安装配置http://log4cpp.sourceforge.net/官方网站有下载地址,安装过程配置选项及测试用例。将下载好的tar包解压到/usr/local/下运行./configure(如有需要添加相关配置选项),使用make编译,使用makecheck进行检测,使用makeinstall安装,使用之前的相关命令安装好之后在/usr

    2022年7月13日
    16
  • RemMai 3.0[通俗易懂]

    RemMai 3.0[通俗易懂]RemMai 3.0

    2022年4月22日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号