JavaBean是使用Java语言开发的一个可用的组件,在Jsp的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁。
优点:
JavaBean本身就是一个类,属于Java的面向对象编程。
在JSP中如果要应用JSP提供的JavaBean标签来操作简单类的话,则此类必须满足以下开发要求:
① 所有的类必须放在一个包中,在WEB中没有包的是不存在的;
② 需要实现接口:java.io.Serializable
③ 所有的类必须声明为public class,这样才能被外部所访问;
④ 类中所有的属性都必须封装,即:使用private声明;
⑤ 封装的属性如果需要被外部做操作,则必须编写对应的setter、getter方法;
⑥ 一个JavaBean中至少存在一个无参构造方法,此为JSP中的标签所使用的。
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; } }
① VO:与简单Java对象对应,专门用于传递值的操作上;
② POJO:简单Java对象;
③ TO:传输对象,进行远程传输时,对象所在的类必须实现java.io.Serializable接口;
Web项目中各个目录的作用 | |
WEB ROOT | Web的根目录,一般虚拟目录直接指向此文件夹,此文件夹下必须直接包含WEB-INF |
WEB-INF | Web目录中最安全的文件夹,保存各种类,第三方jar包,配置文件 |
Web.xml | Web的部署描述符 |
classes | 保存所有的JavaBean,如果不存在,可以手工创建 |
lib | 保存所有的第三方jar文件 |
tags | 保存所有的标签文件 |
jsp | 存放*.jsp文件,一般根据功能再建立子文件夹 |
js | 存放所有需要的*.js文件 |
css | 样式表文件的保存路径 |
images | 存放所有的图片,如*.gif和*.jpg文件 |
① 打包编译:编译时直接使用javac -d . SimpleBean.java命令根据package的定义打包编译。
② Toncat中的classpath配置:
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="com.mk9207.model.*"%> <!-- 导入com.mk9207.model包 --> <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>
除了使用import的语句之外,也可以使用JSP中提供的:<jsp:useBean>指令完成操作。
① <jsp:useBean id="实例化对象名称" scope="保存范围" class="包.类名称">
② 主要属性:
<%@ page contentType="text/html" pageEncoding="GBK"%> <jsp:useBean id="simple" scope="page" class="com.mk9207.model.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="/model" docBase="D:\myweb" reloadable="true"/>
以后Tomcat会自动进行检测,如果发现JavaBean修改后会自动进行重新加载。
注意:
依靠的是反射机制完成的,在使用<jsp:useBean>指令时需要定义对象所在的“包.类”名称,而且又要求类中存在无参构造方法,这就是反射机制操作的前提条件,所以<jsp:useBean>的语法实际上属于反射机制的操作实现。
原文:https://www.cnblogs.com/Dm920/p/11674373.html