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>
运行结果