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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • goland2021.3激活教程破解方法

    goland2021.3激活教程破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    568
  • eclipse新手使用教程_eclipse的使用方法

    eclipse新手使用教程_eclipse的使用方法Eclipse是Java的集成开发环境,使用Eclipse编写Java代码更加简单和智能,那我们该如何使用Eclipse编写一个Java程序呢?一、需要在Eclipse官网(https://www.eclipse.org)上下载Eclipse,然后在电脑上安装二、打开Eclipse软件(一)选择一个工作空间的目录,建议不要放在C盘,之后创建的项目都会存放在你所选的目录下,然后点击Launch(二)可以通过Window-ShowView-Console调出控制台,方便查看程序编译时的输..

    2022年4月20日
    39
  • 什么叫小字辈_小字辈老电影观后感

    什么叫小字辈_小字辈老电影观后感原题链接本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。输入格式:输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。输出格式:首先输出最小的辈分(老祖宗的辈分为 1,以下逐级递增)。然后在第二行按递增顺序输出辈分最小的成员的编号。编号间以一个空格分隔,行首尾不得有多余空格。

    2022年8月8日
    2
  • Ubutu/Debian使用 VSFTPD架设FTP服务器小结

    Ubutu/Debian使用 VSFTPD架设FTP服务器小结架设FTP服务器有好几次了,以前搭建好以后,没有记录操作的详细步骤,过阵时间又忘记了。此次架设FTP服务的需求要点:vsftpdmysql虚拟用户虚拟目录 只读用户 只写用户读写用户。1.安装软件:sudoapt-getinstallvsftpdlibpam-mysqlmysql-server安装MySQL过程中会询问MYSQL的root密码,输入两遍,以

    2022年7月21日
    9
  • 用matlab绘制分段函数曲线

    用matlab绘制分段函数曲线代码:x=linspace(-5,5,100);y=[];forx0=x;ifx0&gt;0  y=[y,1/2*log(x0+sqrt(1+x0.^2))];else  y=[y,(x0+sqrt(pi))/exp(2)];endendplot(x,y)结果:

    2022年6月5日
    81
  • ibatis和Mybatis区别

    ibatis和Mybatis区别相同点: 1、都是原生SQL,都方便进行SQL代码调优 2、查询语句后面不能加“;”,否则会报“无效字符错误” 不同点: 1、ibatis传参是parameterClass,mybatis传参是parameterType 2、ibatis出参是resultClass,mybatis传参是resultType 3、ibatis参数占位符是##,mybatis占位符是

    2022年10月26日
    0

发表回复

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

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