博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaWeb学习笔记--3.JavaBean
阅读量:4566 次
发布时间:2019-06-08

本文共 3391 字,大约阅读时间需要 11 分钟。

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 的属性。

 

符合下面设计规则的任何Java类都是一个JavaBean

(1) 对于数据类型"protype"的每个可读属性,bean必须有下面签名的一个方法:public proptype getProperty(){} 

(2) 对于数据类型"protype"的每个可写属性,bean必须有下面签名的一个方法:public setProperty(proptype x){} 

(3)定义一个不带任何参数的构造函数

 

想要在JSP中调用JavaBean,就需要使用到 <jsp:useBean>动作指令,该动作指令主要用于创建和查找JavaBean的示例对象。语法格式如下:

<jsp:useBean id="对象名称" scope="存储范围" class="类名"> </jsp:useBean>

 

JavaBean的Scope属性

  对于JSP 程序而言,使用JavaBeans 组件不仅可以封装许多信息,而且还可以将一些数据处理的逻辑隐藏到JavaBeans 的内部,除此之外,我们还可以设定JavaBeans 的Scope属性,使得JavaBeans 组件对于不同的任务具有不同的生命周期和不同的使用范围。Scope属性具有四个可能的值分别是application 、session 、request、page分别代表JavaBeans 的四种不同的生命周期和四种不同的使用范围。bean只有在它定义的范围里才能使用,在它的活动范围外将无法访问到它。JSP为它设定的范围有:

page: bean的缺省使用范围

request:作用于任何相同请求的JSP文件中,直到页面执行完毕向客户端发回响应或在此这之前已通过某种方式(如重定向、链接等方式)转到另一个文件为止。

还可通过使用 Request对象访问bean,如request.getAttribute(beanName)

session:作用于整个session的生存周期内,在session的生存周期内,对此bean属性的任何改动,都会影响到在此session内的另一page、另一request里对此bean的调用。但必须在创建此bean的文件里事先用page指令指定了session=true。

application:作用于整个application的生存周期内,在application周期内,对此bean属性的任何改动,都会影响到此application内另一page、另一request以及另一session里对此bean的调用。

 

例1:

Student.java

package com.jsp;public class Student {    private long classno;    private String name;    private int age;    private boolean sex;    private String major;        public Student(){            }         public long getClassno() {        return classno;    }    public void setClassno(long classno) {        this.classno = classno;    }    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;    }    public boolean isSex() {        return sex;    }    public void setSex(boolean sex) {        this.sex = sex;    }    public String getMajor() {        return major;    }    public void setMajor(String major) {        this.major = major;    }}

 

测试代码 input.html

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>      JavaBean测试        
利用标记获取JavaBean属性:
利用对象方法获取JavaBean属性: <%=student1.getName()%>
利用标记设置JavaBean属性name为temp
获取新的属性:

 

例2:

第一部分同例1的Student.java

input.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>      Param HTML          
姓名:
年龄:
专业:

 

param.jsp

设置属性用这种方式:

如果input.jsp中的<input type = "text" name ="Username">,令name="name"而不是name="Username",即和Student.java中姓名的属性名一样时,那么在param.jsp中设置属性是可以省略param属性。代码如下:

 

获取属性可以用下面这两种方式:

<%out.println(student2.getName()); %>

代码:

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%request.setCharacterEncoding("gb2312");%>      利用请求参数设置JavaBean属性            
姓名
<%out.println(student2.getName()); %>
年龄
<%out.println(student2.getAge()); %>
专业
<%out.println(student2.getMajor()); %>

 

 页面效果:

转载于:https://www.cnblogs.com/gnivor/p/4345707.html

你可能感兴趣的文章
$.ajax()方法详解
查看>>
day42
查看>>
jquery操作select(增加,删除,清空)
查看>>
Sublimetext3安装Emmet插件步骤
查看>>
MySQL配置参数
查看>>
全面理解Java内存模型
查看>>
A - Mike and palindrome
查看>>
DOTween教程
查看>>
java web中java和python混合使用
查看>>
创建学员类和教员类
查看>>
Cookie和Session的作用和工作原理
查看>>
字符串操作
查看>>
Visual Studio中改变environment 的布局和显示风格
查看>>
2016-XCTF Final-Richman
查看>>
文件下载
查看>>
extjs grid renderer用法
查看>>
vue 如何在循环中绑定v-model
查看>>
shell脚本
查看>>
[代码笔记]JS保持函数单一职责,灵活组合
查看>>
cmd 重定向
查看>>