- 浏览: 459467 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
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
执行结果:
全部源码见附件
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){ } }
执行结果:
全部源码见附件
发表评论
-
java Romdom例子
2011-06-16 16:41 1842random.netInt()如果括号里 ... -
java 内部类详解(转)
2011-06-01 15:47 4930Java 内部类 分四种:成员内部类、局部内部类、静态内部类和 ... -
Fibonacci数列计算+找出出现次数最多字符+不同数字的排列组合
2011-05-26 15:40 20621,斐波拉契数列的计算 package chapter9; ... -
java中的System类中的方法
2011-05-24 11:00 969public final class System exten ... -
java可视化显示内存使用情况
2011-05-20 16:03 2545package memoryManage; /* * ... -
java 界面swing之表格
2011-05-20 13:39 6492package othertest; import ja ... -
java的队列和栈的一些api
2011-05-16 11:31 1666类 Stack<E> java.lang.Obje ... -
JAVA 中一些api(字符字符串缓冲,URL类,Math类方法,正则表达式)
2011-05-12 10:36 1708CharBuffer字符缓冲区, StringBuffer字符 ... -
java applet 一个简单的例子(applet+html)
2011-05-09 16:49 4116java applet是一个类,其层次结构如下图: 类 JAp ... -
java 核心技术(数组(杨辉三角),散列码,对象拷贝,枚举类型,定时器)
2011-05-04 10:43 1521数组java中无多维数组,都是一维数组,多维数组可以看做是数组 ... -
设计模式总结
2011-04-26 16:50 843对于GoF总结的经典的23中设计模式,分为3类: (1)创建型 ... -
猜数字游戏
2011-04-12 17:27 1136package guessNumber; import ... -
Comparator实现排序
2011-04-01 14:13 8616在java.util包中有一个Collections类,里面实 ... -
21天学会java(含电子书下载)
2011-03-15 16:12 250221天学通java 比较基础 第一天 创建简单applicat ... -
理解浮点数存储
2011-03-15 09:44 963整体呈现 二进制浮 ... -
java.lang.UnsatisfiedLinkError解决办法
2011-03-10 16:59 1136实质上就是Eclipse下配置jdk,jre环境的问题 win ... -
java string,stringbuffer区别例子
2011-01-11 14:44 1337public class test_3 { public ... -
java定时器的使用
2011-01-11 09:20 1429有时需要在一定时间段后,执行某一个操作 java中现有的Ti ... -
对象简单克隆clone和引用(转)
2010-12-15 17:02 845对象克隆,返回和原对 ... -
java applet例子---图片像素处理
2010-12-07 17:01 1885package applet; import java. ...
相关推荐
第3篇为实例篇(第15章~第20章),主要介绍JSP环境基础、JSP语法基础、JSP的内置对象、JavaBean技术和Servlet技术等Java Web领域的基础知识,最后通过一个博客网站介绍Java Web基础知识的综合应用。 本书附有配套...
第3篇为实例篇 第15章 第20章 主要介绍JSP环境基础 JSP语法基础 JSP的内置对象 JavaBean技术和Servlet技术等Java Web领域的基础知识 最后通过一个博客网站介绍Java Web基础知识的综合应用 本资料为书本例子的源代码...
本书循序渐进、由浅入深地讲解了Java Web的核心技术,并通过具体实例的实现过程为读者展示了各个知识点的具体使用流程。 扶松柏等主编的共20章,分为4篇。第1~6章是基础篇,讲解了认识Java,Java语法,程序控制...
学习EJB时编写的小例子,每个例子代表一个知识点。较好的自学材料。
本书既可供大专院校用作“Java语言程序设计”课程教材,也可供Java 爱好者作为入门的自学教材。 目录第1章 Java语言基础知识 1.1 Java语言与面向对象的程序设计 1.1.1 面向对象的程序设计思想 1.1.2 Java语言的...
全书共分 11章,内容包括JSP简介、JSP语法、JSP内置对象、 JSP与Javabean、Java Servlet、MVC模式、在JSP中使用数据库、文件操作、使用XML以及化妆品销售网、**信息发布网等内容。本书所有知识都结合具体实例进行...
全书共分11章,内容包括JSP简介、JSP语法、JSP内置对象、JSP与Javabean、Java Servlet、MVC模式、在JSP中使用数据库、文件操作、使用XML以及、交友信息发布网等内容。本书所有知识都结合具体实例进行介绍,力求详略...
第7章介绍了Java组件技术---JavaBean;第8章的内容是JSP的一些高级开发技术,如异常处理、标记库的扩展等;第9、10章分别给出编程实例:JSP的BBS论坛程序、JSP聊天室程序,第11章是JSP的编程技巧集;附录部分提供了6...
全书共分10章,内容包括JSP简介、JSP语法、内置对象、JSP与Javabean、文件操作、数据库操作、Java Servlet、MVC设计模式、JSP中使用XML等重要内容。本书所有知识都结合具体实例进行介绍,力求详略得当,突出JSP在...
全书共分10章,内容包括JSP简介、JSP页面、JSP标记、内置对象、JSP与JavaBean、文件操作、数据库操作、Java Servlet、MVC设计模式等。本书不仅可以作为高等院校计算机及相关专业的相关课程的教材,也适合自学者及...
入门篇的内容注重JSP应用开发的基本理论及相关类的介绍,并辅以实例说明,包括JSP技术概述、JSP的Web开发环境的安装与配置、Web开发基础、JSP语法、JSP的内置对象、JSP的文件操作、JSP中数据库的使用、JavaBean开发...
本书共分为13章,其中前11章分别介绍了JSP的基本概念,JSP开发工具的安装与配置,JSP中的Java程序和JSP语法,JSP的内置对象,JavaBean、Servlet技术,JSP中的数据库开发技术Struts和Hibernate技术以及JSP组件等内容...
Struts原理、开发及项目实施 Holen 2002-9-12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点...