JavaBean--简介及基本使用
JavaBean本身就是一个类,属于java的面向对象编程
JavaBean是使用java语言开发的一个可重用的组建,在JSP开发中如果要应用JSP提供的JavaBean标签来操作简单的类的话,需要满足如下的开发要求:
1. 所有的类必须放在一个包中,在web中没有包是不存在的。
2. 所有的类必须声明为public class,这样才能被外界访问。
3. 类中所有的属性都必须封装,即:使用private声明
4. 封装的属性如果需要被外部所操作,必须编写对应的setter,getter方法
5. 一个JavaBean中至少存在一个无参构造方法,为jsp中的标签使用
使用JavaBean的两种方法:
1. <%@ page import="cn.mldn.lxh.demo.*"%>
2. <jsp:useBean id="simple" scope="page" class="cn.mldn.lxh.demo.SimpleBean"/>
举例 SimpleBean.java:
package cn.mldn.lxh.demo ;
public class SimpleBean {
private String name ;
private int age ;
/*
public SimpleBean(){
System.out.println("============ 一个新的实例化对象产生 ===========") ;
}
*/
public void setName(String name){
this.name = name ;
}
public void setAge(int age){
this.age = age ;
}
public String getName(){
return this.name ;
}
public int getAge(){
return this.age ;
}
}
对于这样的简单的JavaBean也有几个名词:
VO: 值对象,存放所有的传递数据的操作上
POJO:简单的java对象
TO:传输对象,一个类必须实现Serializable接口后才称为传输对象。
JavaBean本身是一个java文件,需要编译成.class文件才可以解释,放在哪里呢?
web开发的标准目录结构:
WEB ROOT
-WEB-INF
--web.xml
--lib:相当于一个默认的classpath
--classes:相当于一个默认的classpath
--tags
-jsp
-js
-css
-images:图片
-index.jsp:首页,在web.xml里配置
使用JavaBean的例子1:使用 <%@ page import="cn.mldn.lxh.demo.*"%>
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="cn.mldn.lxh.demo.*"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<%
SimpleBean simple = new SimpleBean() ;
simple.setName("李兴华") ;
simple.setAge(30) ;
%>
<h3>姓名:<%=simple.getName()%></h3>
<h3>年龄:<%=simple.getAge()%></h3>
</body>
</html>
此时可以访问。
还有第二种方法,使用专门提供的JSP标签完成操作,在整个JavaBean里提供了一个useBean。
<jsp:useBean id="实例化对象名称" scope=“保存范围” class=“包.类名称”/>
scope:page,request,session,application
<%@ page contentType="text/html" pageEncoding="GBK"%>
<jsp:useBean id="simple" scope="page" class="cn.mldn.lxh.demo.SimpleBean"/>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<%
simple.setName("李兴华") ;
simple.setAge(30) ;
%>
<h3>姓名:<%=simple.getName()%></h3>
<h3>年龄:<%=simple.getAge()%></h3>
</body>
</html>
实际上在使用上面标签的时候,都会自动调用JavaBean中的无参构造方法,则要求在一个JavaBean中如果需要通过JSP标签调用的话,需要一个无参构造方法:
JavaBean修改之后,服务器一定要重新启动,只有重启后才能将新的配置加载进来。
每次这样处理很麻烦,tomcaqt中提供了自动的加载机制。通过server.xml文件进行配置reloadable:
<Context path="/wly" docBase="D:\Workspace" reloadable="true">
这样的话,tomcat会自动进行检测,如果JavaBean修改之后会自动重新加载。
JavaBean的内容都输出在服务器信息里。
但是有两点需要注意:
1. reloadable一直处于监视状态,所以在服务器真正用于项目运行的时候,此属性设置成false,否则性能下降
2. 每次进行完reload后,之前所设置的全部session范围的属性将彻底消失
JavaBean到底是什么原理?为什么通过一个标签就可以完成对象实例化呢?
<jsp:useBean id="simple" scope="page" class="cn.mldn.lxh.demo.SimpleBean"/>
按照以前学的反射机制,现在存在包.类名称,所以肯定能进行实例化,而且这个时候,类中还有无参构造方法,那么就更加明确,肯定是通过反射机制进行对象的实例化操作。
JavaBean--简介及基本使用的更多相关文章
- javabean简介
Javabean简介 JavaBean是一个可重复使用的软件组件.实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean.由于javabean是 ...
- JavaBean简介及使用
JavaBean简介及使用 望星空 https://blog.csdn.net/joywy/article/details/7773503 一.JavaBean简介 JavaBean是使用Jav ...
- javabean 简介
javabean其实包含多个方面的含义. Java语言开发的可重用组件 优点:1,代码简洁.2,HTML与Java分离,好维护.3,将常用程序写成可重用组件,避免重复. 特点:1,所有类放在同 ...
- JavaBean简介和用法
一.JavaBean的含义 JavaBean是使用Java语言开发的一个可重用组件,能使Html代码与JAVA代码分离,并节省开发时间,简单的说就是一个包含了setter和getter以及至少一个无参 ...
- JavaBean简介和要求
JavaBean是一种Java语言写成的可重用组件. 所谓javaBean,是指符合如下标准的Java类: 类是公共的 有一个无参的公共的构造器 有属性,且有对应的get.set方法 用户可以使用Ja ...
- JavaWeb:JavaBean基础
JavaBean基础 JavaBean简介: 1.JavaBean是一种可以重复使用的类,可以没有用户界面,主要负责业务数据或者处理事物(数据运算.操作数据库) 2.与JSP配合,可以简化JSP代码. ...
- JavaBean基础转载
JavaWeb:JavaBean基础 JavaBean基础 JavaBean简介: 1.JavaBean是一种可以重复使用的类,可以没有用户界面,主要负责业务数据或者处理事物(数据运算.操作数据库) ...
- JavaBean简单及使用
一.JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁.JSP搭配JavaBean来使用 ...
- JavaBean个人总结
JavaBean在JSP程序中的应用 JavaBean是为Java语言设计的软件组件模型,具有可重复使用和跨平台的特点.可以通过JavaBean来封装业务逻辑,进行数据库操作等,从而很好的实现业务逻辑 ...
- Web---JSP注册技术的的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean
我们可以这么理解JSP注册技术的发展过程: 第一代JSP技术:纯JSP开发. 第二代JSP技术:JSP+EJB开发. (EJB简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.) 第三代J ...
随机推荐
- HTML+CSS D09 定位
1.定位 (1)相对定位 如果对一个元素进行相对定位,它将出现在它所在的位置上.然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动. #box_relative { positi ...
- 项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】
在第一篇文章 项目管理实践教程一.工欲善其事,必先利其器[Basic Tools]发布后,根据大家的回复,我需要向大家说明几个问题: 1.为什么要用VisualSVN Server,而不用Subver ...
- POJ 2418 Hardwood Species (哈希,%f 和 %lf)
我的错因: 本来改用%f输出,我用了%lf,结果编译器直接判定为错误(一部分编译器认为lf是没有错的).当时我还以为是hash出错了.. 方法不止一种: 方法 时间 空间 Hash 891ms 5 ...
- VMware 8安装苹果操作系统Mac OS X 10.7 Lion正式版
今天介绍下VM8下安装Mac OS X 10.7 1.工具篇 下载Vmware Workstation 8.0正式版http://115.com/file/bhyk1l2u# ...
- TCP/IP,http,socket,长连接,短连接——小结。
来源:http://blog.chinaunix.net/uid-9622484-id-3392992.html TCP/IP是什么? TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. ...
- C#中使用正则表达式提取超链接地址的集中方法
一般在做爬虫或者CMS的时候经常需要提取 href链接或者是src地址.此时可以使用正则表达式轻松完成. Regex reg = new Regex(@"(?is)<a[^>]* ...
- sql server数据库查询同义词
查询数据库同义词: select * from sys.synonyms, 查询同义词个数:select count(1) from sys.synonyms
- calc()使用笔记
calc()可以给元素做运算, calc(expression) eg: .a { width: -webkit-calc(100% - 2px); width: -moz-calc(100% - 2 ...
- ORA-12170: TNS:Connect timeout occurred
VM 作为ORACLE 服务器,客户端登陆提示超时,本地连接使用网络连接正常. D:>sqlplus system/oracle123@//192.168.63.121:15021/pdb01 ...
- FileSystemXmlApplicationContext方法的绝对路径问题
public AgentServer(Socket c,String confDir) { this.client = c; ApplicationContext ac = new FileSyste ...