JavaBean基础使用方法与操作步骤
JavaWeb
jsp
Bean
项目结构
JavaBean的概念
JavaBean是可复用的、平*立的软件组件
- JavaBean既可以是简单的GUI要素,如按钮和滚动条
- JavaBean也可以是复杂的可视化软件组件,如数据库视图
- 有些JavaBean是没有GUI表现形式的,常用来封装事务逻辑、数据库操作等等
我们可以把遵循某种规范的Java类称为JavaBean:
- 这个类是可序列化的
- 这个类必须带有一个无参的构造方法
- 这个类的属性必须通过get 、set和其他标准命名规范来命名的方法进行操作
- 这个类包含事件处理方法
JavaBean与Jsp
广义讲,符合规范的Java类都是JavaBean
JavaBean的作用
- 封装数据
- 处理业务逻辑
JSP与JavaBean如何结合使用
- Scriptlet
- JSP标准动作
jsp标准动作
使用步骤与方法
具体代码怎么写查看后文的代码,代码包含了详细的注释
- 导入JavaBean类
- 声明JavaBean对象,创建或者获得一个对象
3.设置JavaBean中属性的值
4.获取JavaBean中属性的值
scope属性的取值
scope属性取值为page
JavaBean的缺省作用域,也叫页面级作用域
客户每次请求JSP页面时,都会创建一个JavaBean对象
JavaBean对象在以下两种情况下结束生命期
- 客户请求访问的当前JSP网页通过jsp:forward标签将请求转发到另一个页面
- 客户请求访问的当前JSP页面执行完毕并向客户端发回响应
scope属性取值为request
客户每次请求访问JSP页面时,都会创建一个JavaBean对象
JavaBean对象的有效范围为:
- 客户请求访问的当前JSP页面
- 当前JSP页在共享同一个客户请求的页面
scope属性取值为session
它存在于整个session的生存周期内,处于同一个session中的JSP页面共享这个JavaBean对象
scope属性值取为application
它存在于整个Web应用的生存周期内,Web应用中所有JSP页面都能共享同一个JavaBean对象
bean.book代码
点击查看代码
package bean;
public class book {
//将属性声明为私有属性
private String bookName="《萌狼说》";
private int bookNumber=100;
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public int getBookNumber() {
return bookNumber;
}
public void setBookNumber(int bookNumber) {
this.bookNumber = bookNumber;
}
}
index.jsp 代码
点击查看代码
<%--
Created by IntelliJ IDEA.
User: xrilang
Date: 2021/10/20
Time: 14:25
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%--导入JavaBean的类:bean--%>
<%@page import="bean.book" %>
<%@ page import="java.awt.print.Book" %>
<%-- 声明JavaBean对象,创建或者获得一个对象--%>
<%-- 方法1:声明一个对象myBean1--%>
<jsp:useBean id="myBean1" class="bean.book" scope="session"/>
<%-- 方法2:创建一个对象myBean2--%>
<%
Book myBean2 = new Book();
session.setAttribute("myBean2",myBean2);
%>
<%
/**关于JavaBean的scope设置
*【范围】 page
*【说明】Bean 对象只能在当前页面使用,当加载新页面时就会被销毁
*【范围】request
*【说明】Bean对象在一个请求过程中存在
*【范围】session
*【说明】Bean对象在一个会话中存在,直至会话其终止或被删除为止
*【范围】application
*【说明】Bean对象在整个应用程序中均可使用
* */
%>
<%-- setProperty和getProperty动作--%>
<%--设置JavaBean中属性的值--%>
<!--property指定JavaBean属性名称,value设置JavaBean的该属性值-->
<!--name属性指定对JavaBean类的引用,与useBean中的id一致-->
<!--property指定JavaBean的属性名称-->
<jsp:setProperty name="myBean1" property="bookName" value="《西游记》"/>
<jsp:setProperty name="myBean1" property="bookNumber" value="1000"/>
<%-- 获取JavaBean中的值--%>
<jsp:getProperty name="myBean1" property="bookName"/>
<jsp:getProperty name="myBean1" property="bookNumber"/>
<%
/**< jsp:useBean>的scope属性的取值
* scope属性取值为page,JavaBean的缺省作用域,也叫页面级作用域
* 客户每次请求JSP页面时,都会创建一个JavaBean对象
* JavaBean对象在以下两种情况下结束生命期
* 客户请求访问的当前JSP网页通过<jsp:forward>标签将请求转发到另一个页面
* 客户请求访问的当前JSP页面执行完毕并向客户端发回响应
* scope属性取值为request时,客户每次请求访问JSP页面时,都会创建一个JavaBean对象
* JavaBean对象的有效范围为:
* 客户请求访问的当前JSP页面。
* 和当前JSP页在共享同一个客户请求的页面
* scope属性取值为session,它存在于整个session的生存周期内,处于同一个session中的JSP页面共享这个JavaBean对象
* scope属性值取为application,它存在于整个Web应用的生存周期内,Web应用中所有JSP页面都能共享同一个JavaBean对象
*/
%>
</body>
</html>