`

java自学==javabean实例

阅读更多
javaBean是java web开发中的组件技术。一个JavaBean就是一个java类。主要有两种:(1)带有可视化界面的类,如button,combo等(2)没有可视化界面的类,javaweb用的是后者。

   JavaBean完成的工作主要是业务逻辑和数据处理逻辑,这样将显示逻辑和java程序逻辑分开来,减少jsp中的java代码量,而将大量的java代码封装到JavaBean组件中,在jsp页面只要简单的调用JavaBean即可,如用jsp:useBean动作标签。

    JavaBean的编写规则:

(1)应该为一个public类

(2)如果属性名字xxx,则getXxx()为得到属性值,setXxx()为设置属性值。

<jsp:getProperty>标签得到属性的值,实质上是调用JavaBean的get方法。

例如:

useBean.jsp

<%@ page language='java' contentType='text/html;charset=gb2312'
pageEncoding='gb2312'%>
<html>
<head>
  <title>使用useBean动作指令</title>
</head>
<body>



可视化bean

package visibableBean;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.BeanInfo;
import java.beans.EventSetDescriptor;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.MethodDescriptor;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

//可视化bean
public class Bean extends JFrame {

	private JTextField text=new JTextField(20);
	private JTextArea results=new JTextArea(); //文本域
	
	public void print(String s){
		results.append(s+"\n");
	}
	public void use(Class bean){
		results.setText("");
		BeanInfo bi=null;
		try{
			bi=Introspector.getBeanInfo(bean, Object.class);
		}catch(IntrospectionException e){
			print("Couldn't introspect"+bean.getName());
			return;
		}
		PropertyDescriptor[]properties=bi.getPropertyDescriptors(); //所有属性数组
		for(int i=0;i<properties.length;i++){
			Class p=properties[i].getPropertyType(); //属性的类型,返回为Class对象
			if(p==null)continue;
			print("属性类型: "+p.getName()+"\n属性名称: "+properties[i].getName());
			Method readMethod=properties[i].getReadMethod();
			if(readMethod!=null)
				print("getXXX() 方法: "+readMethod);
			Method writeMethod=properties[i].getWriteMethod();
			if(writeMethod!=null)
				print("setXXX() 方法: "+writeMethod);
			
		}
		print("===============");
		print("所有公共方法:");
		MethodDescriptor[] methods=bi.getMethodDescriptors();
		for(int i=0;i<methods.length;i++){
			print(methods[i].getMethod().toString());
			
		}
		print("===============");
		print("Event support");
		EventSetDescriptor[] events=bi.getEventSetDescriptors();
		for(int i=0;i<events.length;i++){
			print("监听类型:"+events[i].getListenerType().getName());
			Method[]lm=events[i].getListenerMethods();
			for(int j=0;j<lm.length;j++)
				print("监听方法: "+lm[j].getName());
			MethodDescriptor []lmd=events[i].getListenerMethodDescriptors();
			//for(int j=0;j<lmd.length;j++)
				//print("M")
			Method addListener=events[i].getAddListenerMethod();
			print("添加监听方法: "+addListener);
			Method removeListener=events[i].getRemoveListenerMethod();
			print("删除监听方法: "+removeListener);
		}
			
		
	}
	public Bean(){
		Container cp=getContentPane();
		JPanel p=new JPanel();
		p.setLayout(new FlowLayout());
		p.add(new JLabel("请输入JavaBean名称"));
		p.add(text);
		cp.add(BorderLayout.NORTH,p);
		cp.add(new JScrollPane(results));
		text.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {
				String name=text.getText();
				Class c=null;
				try{
					c=Class.forName(name);
				}catch(ClassNotFoundException ex){
					ex.getMessage();
					return;
				}
				use(c);
			}
			
		}); //文本框添加响应事件
		
		text.setText("com.wsy.visalJavaBean");
	}
	
	public static void main(String[] args) {

		new Bean().setSize(500,300);
		new Bean().setVisible(true);
	}

}



package com.wsy;

import java.awt.event.ActionListener;

public class visalJavaBean {
	private int color;
	private int background;
	private int active;
	public int getActive() {
		return active;
	}
	public void setActive(int active) {
		this.active = active;
	}
	public int getBackground() {
		return background;
	}
	public void setBackground(int background) {
		this.background = background;
	}
	public int getColor() {
		return color;
	}
	public void setColor(int color) {
		this.color = color;
	}
	public void addActionListener(ActionListener l){
		
	}
	public void removeActionListener(ActionListener l){
		
	}
}


执行结果:



全部源码见附件
  • 大小: 89 KB
分享到:
评论

相关推荐

    java自学==jsp实例

    【Java自学——JSP实例详解】 JavaServer Pages(JSP)是Java平台上的一个标准,用于创建动态网页。它是Sun Microsystems(现在已被Oracle收购)在2000年代初推出的一种技术,旨在简化Web应用程序的开发。JSP与HTML...

    Java程序设计自学手册光盘

    第3篇为实例篇(第15章~第20章),主要介绍JSP环境基础、JSP语法基础、JSP的内置对象、JavaBean技术和Servlet技术等Java Web领域的基础知识,最后通过一个博客网站介绍Java Web基础知识的综合应用。  本书附有配套...

    JSP网络开发实例自学手册源代码

    **JSP网络开发实例自学手册源代码** JSP(JavaServer Pages)是Java技术中用于构建动态网页的应用程序,它允许开发者将静态HTML与动态Java代码结合在一起,以实现服务器端的数据处理和业务逻辑。本资源集合提供的是...

    《Java程序设计自学手册》源代码

    第3篇为实例篇 第15章 第20章 主要介绍JSP环境基础 JSP语法基础 JSP的内置对象 JavaBean技术和Servlet技术等Java Web领域的基础知识 最后通过一个博客网站介绍Java Web基础知识的综合应用 本资料为书本例子的源代码...

    jsp代码实例教程一些jsp实例的代码

    4. **JSP与Javabean**:Javabean是Java中封装数据的组件,常用于分离数据的处理和显示。这一章详细介绍了如何在JSP中使用Javabean。 5. **文件操作**:讲解了如何使用Java的输入输出流进行文件读写,特别强调了...

    指导学习二 开发基于JSP Servlet JavaBean网上交易系统

    【标题】"指导学习二 开发基于JSP Servlet JavaBean网上交易系统"涵盖了Web应用程序开发的核心技术,主要针对初学者和中级开发者,旨在教授如何利用Java技术栈构建一个完整的网上交易系统。在这个教程中,我们将深入...

    亮剑Java Web项目开发案例导航光盘镜像

    1. **Java Web基础知识**:在进行Java Web开发时,首先需要理解基础概念,如Servlet、JSP、JavaBean等。Servlet是Java服务器端程序,用于处理HTTP请求;JSP则是一种动态网页技术,可以方便地将HTML和Java代码结合;...

    jsp自学教程8例 1

    **JSP自学教程8例——深入理解Web开发技术** JSP(JavaServer Pages)是Java平台上的一种动态网页技术,它允许开发者将静态HTML与动态Java代码结合在一起,以创建交互式的网页应用。本教程旨在帮助初学者快速掌握...

    Eclipse+Web开发从入门到精通(实例版).pdf

    书中还通过实例讲解了数据库开发的内容,以学生成绩管理系统为例,介绍了如何使用HSQLDB数据库,并利用SQLExplorer插件连接数据库,创建成绩表,以及如何使用JavaBean映射成绩表和管理成绩。这个实例不仅涉及了...

    Java语言程序设计

     本书既可供大专院校用作“Java语言程序设计”课程教材,也可供Java 爱好者作为入门的自学教材。 目录第1章 Java语言基础知识 1.1 Java语言与面向对象的程序设计 1.1.1 面向对象的程序设计思想 1.1.2 Java语言的...

    jsp+javaBean+access编写的购物网站

    总的来说,这个基于jsp+javaBean+access的购物网站项目是一个基础的电子商务平台实例,它不仅涵盖了Web开发的核心技术,还展示了如何将这些技术整合到实际项目中。无论是教学还是自学,这样的项目都能提供宝贵的经验...

    java web 应用开发PPT

    这份"java web 应用开发PPT"是为自学者设计的,旨在通过实例教学帮助学习者深入理解并掌握这一领域的核心概念和实践技能。 在Java Web开发中,主要涉及的技术包括Servlet、JSP(JavaServer Pages)、JavaBean、MVC...

    Java案例精粹150例

    - 第9章通过实例介绍Java B/S结构编程,包括JSP、JavaBean、Servlet等技术的应用。 - 第10章介绍Java的webService编程,通过实例讲解XML和SOAP编程。 - 第11章通过实例介绍EJB编程,包括各种EJB的编程方式,如无状态...

    jsp实用教程第三版课本实例

    全书共分 11章,内容包括JSP简介、JSP语法、JSP内置对象、 JSP与Javabean、Java Servlet、MVC模式、在JSP中使用数据库、文件操作、使用XML以及化妆品销售网、**信息发布网等内容。本书所有知识都结合具体实例进行...

    jsp课件(适合自学)

    通过`&lt;jsp:useBean&gt;`指令,可以在JSP页面中实例化和操作JavaBean。 ### 5. JSP与Servlet的关系 - **JSP到Servlet的转换**:当JSP页面首次被请求时,服务器会将JSP转换为对应的Servlet类,然后编译和执行。 - **...

    jsp 自学手册 - 多媒体博客

    **JSP自学手册 - 多媒体博客** JSP(JavaServer Pages)是一种基于Java技术的动态网页开发工具,它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,实现服务器端的动态网页生成。本“JSP自学手册 - 多媒体博客...

    基于java的jsp课件

    4. **JavaBean**:JavaBean是一种符合特定规范的Java类,常用于JSP中存储和管理数据。它们可以通过`jsp:useBean`标签在JSP页面中实例化,并通过`jsp:setProperty`和`jsp:getProperty`来操作其属性。 5. **EL...

    java软件开发的课程安排

    6. **Java基础类库与中期项目实战**:结合实例课程,学员将完成中期项目,加深对Java基础类库的理解,包括数据类型转换、基本数据结构、GUI窗体类和接口类。 7. **Java多线程编程与网络编程**:学习线程的创建和...

Global site tag (gtag.js) - Google Analytics