JavaBean简介及使用

 望星空

https://blog.csdn.net/joywy/article/details/7773503
 

一、JavaBean简介

JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁。JSP搭配JavaBean来使用,有以下的优点:

1.可将HTML和Java代码分离,这主要是为了日后维护的方便。如果把所有的程序代码(HTML和Java)写到JSP页面中,会使整个程序代码又多又复杂,造成日后维护上的困难。

2.可利用JavaBean的优点。将日常用到的程序写成JavaBean组件,当在JSP要使用时,只要调用JavaBean组件来执行用户所要的功能,不用再重复写相同的程序,这样以来也可以节省开发所需的时间。

二、JavaBean开发要求

1.JavaBean本身就是一个类,属于Java的面向对象编程。

2.在JSP中如果要应用JSP提供的Javabean的标签来操作简单类的话,则此类必须满足如下的开发要求:

(1)所有的类必须放在一个包中,在WEB中没有包的是不存在的;

(2)所有的类必须声明为public class,这样才能够被外部所访问;

(3)类中所有的属性都必须封装,即:使用private声明;

(4)封装的属性如果需要被外部所操作,则必须编写对应的setter、getter方法;

(5)一个JavaBean中至少存在一个无参构造方法,此为JSP中的标签所使用。

第一个简单JavaBean

package blog.csdn.joywy;
public class SimpleBean{
private String name;
private int age;
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;
}
}

  

如果在一个类中只包含属性、setter、getter方法,那么这种类就成为简单JavaBean。

对于简单的JavaBean也有几个名词:

(1)VO:与简单Java对象对应,专门用于传递值的操作上

(2)POJO:简单Java对象

(3)TO:传输对象,进行远程传输时,对象所在的类必须实现java.io.Serializable接口。

三、WEB开发的标准目录结构

Web项目中各个目录的作用:

No.

目录或文件名称

作用

1

WEB ROOT

Web的根目录,一般虚拟目录直接指向此文件夹,此文件夹下必然直接包含WEB-INF

2

WEB-INF

Web目录中最安全的文件夹,保存各种类、第三方jar包、配置文件

3

Web.xml

Web的部署描述符

4

classes

保存所有的JavaBean,如果不存在,可以手工创建

5

lib

保存所有的第三方jar文件

6

tags

保存所有的标签文件

7

jsp

存放*.jsp文件,一般根据功能再建立子文件夹

8

js

存放所有需要的*.js文件

9

css

样式表文件的保存路径

10

images

存放所有的图片,如*.gif或*.jpg文件

注:

1.打包编译:编译时直接使用javac -d . SimpleBean.java命令根据package的定义打包编译。

2.Tomcat中classpath的配置:

所有的class要进行访问时都必须在classpath中进行配置,在Tomcat中依然可以使用,在Web开发中,Tomcat安装目录的lib文件夹、WEB-INF\classes和WEB-INF\lib文件夹实际上都表示了classpath,所以直接将类或jar包复制到这些文件夹中就可以直接使用了。

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="blog.csdn.joywy.*"%> <!-- 导入blog.csdn.joywy包 -->
<html>
<head><title>欢迎来到望星空</title></head>
<body>
<%
SimpleBean simple = new SimpleBean(); //声明并实例化SimpleBean对象
simple.setName("Joywy"); //设置name属性
simple.setAge(23); //设置age属性
%>
<h3>姓名:<%=simple.getName()%></h3> <!-- 输出name属性的内容 -->
<h3>年龄:<%=simple.getAge()%></h3> <!-- 输出age属性的内容 -->
</body>
</html>

四、使用<jsp:useBean>指令

除了使用import的语句之外,也可以使用JSP中提供的:<jsp:useBean>指令完成操作,指令的操作语法如下所示:

1.<jsp:useBean id="实例化对象名称" scope=“保存范围” class=“包.类名称“/>

2.主要属性:

(1)id:表示实例化对象的名称

(2)scope:表示此对象保存的范围,一共有四种属性范围:page、request、session、application

(3)class:对象所对应的包.类名称
样例:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<jsp:useBean id="simple" scope="page" class="blog.csdn.joywy.SimpleBean"/>
<html>
<head><title>欢迎来到望星空</title></head>
<body>
<%
simple.setName("Joywy");
simple.setAge(23);
%>
<h3>姓名:<%=simple.getName()%></h3>
<h3>年龄:<%=simple.getAge()%></h3>
</body>
</html>

在使用<jsp:useBean/>指令时,实际上会默认调用SimpleBean类中的无参构造方法进行对象实例化,当修改SimpleBean.java文件后,如果要想让其起作用,则需要重新启动服务器,我们可以通过在Tomcat中直接配置自动加载的操作,这样即使不重新启动服务器,JavaBean修改后也可以被立即加载进来。重新加载的配置如下:在Tomcat安装目录下conf/server.xml文件中进行配置

<Context path="/joywy" docBase="D:\myweb" reloadable="true"/>

以后Tomcat会自动进行检测,如果发现JavaBean修改之后会自动进行重新加载。

注意:

1.直接在配置虚拟目录的位置上增加一个reloadable属性即可,但是这种情况只适合于开发,因为使用reloadable自动加载后,服务器将始终处于监视状态,一旦发现类修改后就要立刻重新加载,运行性能是比较低的,所以,当项目真正发布运行时一定要将reloadable的内容设置成false,以提升入屋企运行性能。

2.还要记住,当Tomcat重新加载了新的内容后,所有的操作都将初始化,所有设置过的session属性都将消失。

四、<jsp:useBean>指令内部实现原理

依靠的是反射机制完成的,在使用<jsp:useBean>指令时需要定义对象所在的“包.类“名称,而且又要求类中存在无参构造方法,这就是反射操作的前提条件,所以<jsp:useBean>的语法实际上属于反射机制的操作实现。

JavaBean简介及使用的更多相关文章

  1. javabean简介

    Javabean简介 JavaBean是一个可重复使用的软件组件.实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean.由于javabean是 ...

  2. javabean 简介

    javabean其实包含多个方面的含义.   Java语言开发的可重用组件 优点:1,代码简洁.2,HTML与Java分离,好维护.3,将常用程序写成可重用组件,避免重复.   特点:1,所有类放在同 ...

  3. JavaBean简介和用法

    一.JavaBean的含义 JavaBean是使用Java语言开发的一个可重用组件,能使Html代码与JAVA代码分离,并节省开发时间,简单的说就是一个包含了setter和getter以及至少一个无参 ...

  4. JavaBean简介和要求

    JavaBean是一种Java语言写成的可重用组件. 所谓javaBean,是指符合如下标准的Java类: 类是公共的 有一个无参的公共的构造器 有属性,且有对应的get.set方法 用户可以使用Ja ...

  5. JavaWeb:JavaBean基础

    JavaBean基础 JavaBean简介: 1.JavaBean是一种可以重复使用的类,可以没有用户界面,主要负责业务数据或者处理事物(数据运算.操作数据库) 2.与JSP配合,可以简化JSP代码. ...

  6. JavaBean基础转载

    JavaWeb:JavaBean基础 JavaBean基础 JavaBean简介: 1.JavaBean是一种可以重复使用的类,可以没有用户界面,主要负责业务数据或者处理事物(数据运算.操作数据库) ...

  7. JavaBean简单及使用

    一.JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁.JSP搭配JavaBean来使用 ...

  8. JavaBean个人总结

    JavaBean在JSP程序中的应用 JavaBean是为Java语言设计的软件组件模型,具有可重复使用和跨平台的特点.可以通过JavaBean来封装业务逻辑,进行数据库操作等,从而很好的实现业务逻辑 ...

  9. Web---JSP注册技术的的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean

    我们可以这么理解JSP注册技术的发展过程: 第一代JSP技术:纯JSP开发. 第二代JSP技术:JSP+EJB开发. (EJB简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.) 第三代J ...

随机推荐

  1. 【hdu3507】Print Article 【斜率优化dp】

    题意 https://cn.vjudge.net/problem/HDU-3507 分析 斜率优化的模板题 #include <cstdio> #include <cstring&g ...

  2. Django基础学习六之渲染

    今天简单的介绍一下Django的template的渲染和Django的template的基本的语法 首先我们先启动一个django的shell,首先需要进入django的工程目录下启动django的s ...

  3. 关于Yii2.0的url路径优化问题(配置虚拟路径)

    backend/config/main.php 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => fa ...

  4. Windows 环境下分布式跨域Session共享(转)

    出处:http://www.cnblogs.com/stangray/p/3328092.html 为什么还是那句话,在网上找了N篇Session共享,但真正可以直接解决问题的还是没有找到. 一.以下 ...

  5. PHP(二)变量和常量

  6. 从Objective-C到Swift,你必须会的(一)#pragma mark

    在Objective-C里,为了让代码组织的有序也方便用control+6的快捷键在Xcode中查找,所以出现了一个大家都很熟悉的东东.这就是:#prama mark. #pragma mark  但 ...

  7. MySQL性能调优与架构设计——第10章 MySQL数据库Schema设计的性能优化

    第10章 MySQL Server性能优化 前言: 本章主要通过针对MySQL Server(mysqld)相关实现机制的分析,得到一些相应的优化建议.主要涉及MySQL的安装以及相关参数设置的优化, ...

  8. 对ConditionQueue和锁的理解

    1. 什么时候使用conditionQueue 使用conditionQueue的一个最基本的条件是,操作和状态相关,而且是多线程同时访问的状态. 也就是说在使用conditionQueue的时候, ...

  9. Modelsim10.2c使用教程(一个完整工程的仿真)

    之前玩过Altera的板子,不不, 现在应该叫intel PSG.在QuartusII13.0上老喜欢用modelsim_ae做仿真,小工程用起来也方便,但是我做IIC配置摄像头的时序仿真时,就显得有 ...

  10. linux下的文本操作之 文本查找——grep

    摘要:你有没有这样的应用场景:调试一个程序,出现debug的提示信息,现在你需要定位是哪个文件包含了这个debug信息,也就是说,你需要在一个目录下的多个文件(可能包含子目录)中查找某个字符串的位置: ...