JavaBean是使用Java语言开发的一个可重用性的组件,在jsp中使用JavaBean可以减少重复代码,使HTML和Java代码分离,使整个JSP开发更为简洁。
一.使用JavaBean的优点与开发要求
1.使HTML代码和Java代码分离,使以后的维护更加方便。可利用这点把常用的功能写成JavaBean组件,当jsp使用时只需要调用JavaBean的组件即可。
2.开发要求:
所有类都要放在包里面,没有包的类时不存在的。
所有类必须声明为public class,这样才能在外部访问
所有类的属性都要声明为private,即封装
封装的属性如果需要被外部调用,则必须编写对应属性的setter,getter方法
一个JavaBean中至少包含一个无参的构造方法,此方法为JSP的标签所使用
二.JavaBean编译完成的保存位置
想知道JavaBean的保存位置需要先了解webroot的结构,如下图所示:

目录对应结构的功能如下:

三.JavaBean的使用
方法一.<%@page%>标签导入需要的包
示例:SimpleBean.java
package com.shengxuan;
public class SimpleBean {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.shengxuan.*"%>
<%@ page import="com.shengxuan.SimpleBean" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
SimpleBean bean = new SimpleBean();
bean.setName("SihgYu");
bean.setAge(22);
%>
<h3><%=bean.getAge()%></h3>
<h3><%=bean.getName()%></h3>
</body>
</html>
运行截图:

方法二.使用<jsp:useBean>
<jsp:useBean id="实例化对象名称" scope="保存范围" class="包.类名称">
这个方法直接使对象实例化的原因是使用了java的反射机制
其中scope:可选择 page request session application
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="bean" scope="page" class="com.shengxuan.SimpleBean"/>
<%@ page import="com.shengxuan.SimpleBean" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
bean.setName("SihgYu");
bean.setAge(22);
%>
<h3><%=bean.getAge()%></h3>
<h3><%=bean.getName()%></h3>
</body>
</html>
|