JSP学习笔记--JavaBean

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

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

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

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

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

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"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>JavaBean测试</title>
  </head>

  <body bgcolor = "#FFFFFF">
  <jsp:useBean id="student1" scope = "page" class = "com.jsp.Student"/>
      利用标记获取JavaBean属性:
  <jsp:getProperty name = "student1" property = "name"/>
  <br>

      利用对象方法获取JavaBean属性:
  <%=student1.getName()%>
  <br>
      利用标记设置JavaBean属性name为temp
  <jsp:setProperty name = "student1" property="name" value = "小明"/>
  <br>
      获取新的属性:
  <jsp:getProperty name = "student1" property = "name"/>
  <br>

  </body>
</html>

例2:

第一部分同例1的Student.java

input.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Param HTML</title>
  </head>

  <body>
    <form action ="param.jsp">
    姓名:<input type = "text" name ="Username"><br>
    年龄:<input type = "text" name = "age"><br>
    专业:<input type = "text" name = "major"><br>
    <input type ="submit" value="提交">

    </form>
  </body>
</html>

param.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%request.setCharacterEncoding("gb2312");%>

<html>
  <head>
    <title>利用请求参数设置JavaBean属性</title>
  </head>

  <body bgcolor="#ffffff">
   <jsp:useBean id = "student2" scope="page" class="com.jsp.Student"/>
   <jsp:setProperty name="student2" property="name" param="UserName"/>
   <!--  注意第三个参数名为param,因为上一个页面传过来的为参数
        如果为valule="UserName" 那么名字就会被设置为"UserName"而不是参数值 -->
   <jsp:setProperty name="student2" property="age" param="age"/>
   <jsp:setProperty name="student2" property="major" param="major"/>
   <tr>
       <td>姓名</td>
       <td><jsp:getProperty name = "student2" property="name"/></td>
   </tr>
   <tr>
       <td>年龄</td>
       <td><jsp:getProperty name = "student2" property="age"/></td>
   </tr>
   <tr>
       <td>专业</td>
       <td><jsp:getProperty name = "student2" property="major"/></td>
   </tr>

  </body>
</html>

时间: 2024-11-29 07:12:30

JSP学习笔记--JavaBean的相关文章

Servlet&JSP学习笔记

Servlet&JSP学习笔记 */--> Servlet&JSP学习笔记 Table of Contents 1 Web容器 2 内置对象 2.1 内置对象分类 2.1.1 out 2.1.2 request 2.1.3 application 2.1.4 response 2.1.5 session 2.1.6 其他 3 JavaBean 3.1 JSP动作元素 3.2 javabean的四个作用於范围 4 JSP状态管理 4.1 Cookie 4.2 include 指令与动作

蜗牛—JSP学习之JavaBean初识

初识: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" +

Servlet&amp;Jsp学习笔记归纳图(一)

转载请注明出处!!!版权必究!! 以下是Servlet&Jsp的学笔记归纳图,详细内容以及相关代码会在后面整理完成 后给出 使用的是思维导图工具:MindManager 6 最新版本是2013,有兴趣的自己百度下载,功能更多,安装有点麻烦 以下提供版本6绿色版免安装版下载: http://pan.baidu.com/s/1jGqlnXc 本节思维导图文件下载:http://pan.baidu.com/s/1eQGbMSU Servlet&Jsp学习笔记归纳图(一),布布扣,bubuko.c

JSP学习笔记(1)-JSP简介

1.什么是JSP? JSP是Java server page的缩写,有sun公司倡导,许多公司参与,于1999年推出的一种web服务设计标准.JSP基于Java Servlet以及整个java体系的Web开发技术.Java servlet 就是编写在服务器端创建对象的java类,习惯上称为servlet类,servlet类的对象习惯上称为一个servlet.那么二者的关系是什么呢?Java Servlet是java语言的一部分,而jsp是基于java servlet的,jsp具备了几乎所有jav

JavaWeb 后端 &lt;五&gt; 之 JSP 学习笔记

一.JSP简介 1.也是SUN公司推出的开发动态web资源的技术,属于JavaEE技术之一.由于原理上是Servlet, 所以JSP/Servlet在一起. 二.HTML.Servlet和JSP 1.HTML:静态页面,不能包含java代码,只能有HTML有关的标记 2.Servlet:写java代码,做页面的输出,不是很方便(开发效率很低) 3.JSP:HTML+java 三.输出当前的时间 <%@ page language="java" import="java.

JSP学习笔记(4)-Javabean

按照sun公司的定义,Javabean是一个可重复使用的软件组件,实际上Javabean是一种Java类,通过封装属性和方法成为具有某种功能或处理某个业务的对象,简称Bean,Javabean基于java语言,自然不依赖平台,它具有的特点: 可以实现代码的重复利用 易编写.易维护.易使用 可以在任何安装了Java运行环境的平台上使用,并且不需要重新编译 JSP页面可以将数据的处理过程指派给一个或者几个bean来完成,即JSP页面调用bean完成数据的处理,并将有关处理结果存放在bean中,然后J

重温JSP学习笔记--三大指令九大内置对象

最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记: JSP三大指令: page    ------>最复杂的一个指令,属性很多,常用的像import,language,pageEncoding等等 include-------->静态包含,一般在一个网站不同网页上把相同的元素单独写在一个jsp中,其他页面直接用该命令导入,能大大减少重复代码提高访问速度 tagli

JSP学习笔记(一):JSP语法和指令

一.语法 1.脚本程序的语法格式: 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. <% 代码片段 %> 2.中文编码问题 如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!D

JSP 学习笔记

1,JSP九大内置对象    请求对象 request 输出对象 out    响应对象 response     应用程序对象 application     会话对象 session     页面上下文对象 pageContext     页面对象 page     配置对象 config     异常对象 exception2,request对象     String getParameter(String name) 根据表单组件名称获取提交数据     String[] getPara