JavaBean简单及使用

1、JavaBean简介css

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

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

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

2、JavaBean开发要求编程

1.JavaBean自己就是一个类,属于Java的面向对象编程。安全

2.在JSP中若是要应用JSP提供的Javabean的标签来操做简单类的话,则此类必须知足以下的开发要求:服务器

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

(2)全部的类必须声明为public class,这样才可以被外部所访问;app

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

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

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

第一个简单JavaBean

 

[java]  view plain copy
 
  1. package blog.csdn.joywy;  
  2. public class SimpleBean{  
  3.     private String name;  
  4.     private int age;  
  5.     public void setName(String name){  
  6.         this.name = name;  
  7.     }  
  8.     public void setAge(int age){  
  9.         this.age = age;  
  10.     }  
  11.     public String getName(){  
  12.         return this.name;  
  13.     }  
  14.     public int getAge(){  
  15.         return this.age;  
  16.     }  
  17. }  

 

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

 

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

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

(2)POJO:简单Java对象

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

3、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包复制到这些文件夹中就能够直接使用了。

 

[plain]  view plain copy
 
  1. <%@ page contentType="text/html" pageEncoding="GBK"%>  
  2. <%@ page import="blog.csdn.joywy.*"%>    <!-- 导入blog.csdn.joywy包 -->  
  3. <html>  
  4. <head><title>欢迎来到望星空</title></head>  
  5. <body>  
  6. <%  
  7.     SimpleBean simple = new SimpleBean();    //声明并实例化SimpleBean对象  
  8.     simple.setName("Joywy");                 //设置name属性  
  9.     simple.setAge(23);                       //设置age属性  
  10. %>  
  11. <h3>姓名:<%=simple.getName()%></h3>            <!-- 输出name属性的内容 -->  
  12. <h3>年龄:<%=simple.getAge()%></h3>             <!-- 输出age属性的内容 -->  
  13. </body>  
  14. </html>  

4、使用<jsp:useBean>指令

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

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

2.主要属性:

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

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

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

 

[plain]  view plain copy
 
  1. <%@ page contentType="text/html" pageEncoding="GBK"%>  
  2. <jsp:useBean id="simple" scope="page" class="blog.csdn.joywy.SimpleBean"/>  
  3. <html>  
  4. <head><title>欢迎来到望星空</title></head>  
  5. <body>  
  6. <%  
  7.     simple.setName("Joywy");  
  8.     simple.setAge(23);  
  9. %>  
  10. <h3>姓名:<%=simple.getName()%></h3>  
  11. <h3>年龄:<%=simple.getAge()%></h3>  
  12. </body>  
  13. </html>  

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

 

 

[html]  view plain copy
 
  1. <Context path="/joywy" docBase="D:\myweb" reloadable="true"/>  

之后Tomcat会自动进行检测,若是发现JavaBean修改以后会自动进行从新加载。

 

注意:

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

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

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

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

出处:http://blog.csdn.net/joywy/article/details/7773503

相关文章
相关标签/搜索