zoukankan      html  css  js  c++  java
  • JavaBean规范入门

    JavaBean 其实就是一个 Java 类,但是它必须遵守一定的编写规则。

    JavaBean 从功能上来讲,我将它分为业务 Bean 和实体 Bean 两类,下面我通过
    一个实体 Bean 的开发示例,来讲述 JavaBean 开发中的一些基础技术。

    实体 Bean 的主要作用是用来对系统中要用到的数据进行封装,这些数据包括
    用户从前台的输入和从数据库中读取的数据等等,是 JavaBean 中较简单的一类。

    SimpleBean.java:
    package com.myapp.beans;
    public class SimpleBean {
    private String name;
    private String password;
    public SimpleBean() {
    System.out.println("SimpleBean");
    }
    public void setName(String name) {
    this.name = name;
    }
    public void setPassword(String password) {
    this.password = password;
    }
    public String getName() {
    return this.name;
    }
    public String getPassword() {
    return this.password;
    }
    }
    以上代码就是一个简单的 JavaBean 的示例,它严格遵守了 JavaBean 的编码

    规则,即:
    ⑴ JavaBean 必须放在一个包中

    ⑵ JavaBean 必须申明为 public class

    ⑶ JavaBean 的所有属性必须申明为 private
    ⑷ 通过 setter 方法和 getter 方法设值和取值

    ⑸ 通过 JSP 调用时,则需一个无参的构造方法
    ⑹ 编写代码要严格遵守 Java 程序的命名规范

    现在就可以在 JSP 页面里来调用这个 JavaBean 了。编写 index.jsp 页面如
    下:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ page import="com.myapp.beans.*"%>

    html>
    head>
    meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-

    title>simple JavaBean

    body> <% SimpleBean sb = new SimpleBean() ; sb.setName("index") ; sb.setPassword("123456") ; %> h1>name:<%=sb.getName()%> h1>pass:<%=sb.getPassword()%> 通过 page 指令的 import 语句,就可以导入在 classes 文件夹里的所有的类,

    这里我导入了刚刚写好的 JavaBean。然后就可以在 JSP 页面中使用它了,这里和
    我们通常使用 Java 的类的方式是一样的。

    这种使用方式在实际开发中是不会使用到的,因为 JavaBean 对象的生成应该

    由容器来完成,而不是由程序员来手工完成,下面我们使用 JSP 标签来使用
    JavaBean,我们将 index.jsp 修改如下:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ page import="com.myapp.beans.*" %>

    html>
    head>
    meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-

    title>Simple Bean 2

    jsp:useBean id="sb" scope="page" class="com.myapp.beans.SimpleBean" > body> <% sb.setName("index2") ; sb.setPassword("123456") ; %> h1>name:<%=sb.getName()%> h1>pass:<%=sb.getPassword()%> 标签用来创建 JavaBean 对象,它通常使用到的属性有三个:

    id 表示对象名;scope 表示对象的作用范围;class 表示该对象所属的包和类。
    对于以上的代码,我们认为还是不满意,因为给 JavaBean 赋值和取值的这个

    过程,仍然是由程序员来完成的,这样还是会导致大量的 Java 代码与 HTML 代码
    混编在一起,于是我们应该掌握 JavaBean 在 JSP 中使用的最佳方式。

    一种调用方式:
    <jsp:useBean id=" 对象" scope="作用范围" class="包.类"/>
    四种设值方式:

    <jsp:setProperty name="对象" property="*"/>
    <jsp:setProperty name="对象" property="属性"/>

    <jsp:setProperty name="对象" property="属性" param="参数名
    "/>
    <jsp:setProperty name="对象" property="属性" value="值"/>
    一种取值方式:

    <jsp:getProperty name="对象" property="属性"/>

    以上列出了 JavaBean 在 JSP 中的常用方式,最常用的就是四种设值方式中的

    第一种,它可以将表单中传来的值,全部自动填充到 JavaBean 里,例如:
    index.jsp:
    <%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>

    html>
    head>
    meta http-equiv="Content-Type" content="text/html; charset=gb2312" >
    title>简单JavaBean

    body> FORM METHOD=POST ACTION="show.jsp"> 帐号:
    密码: INPUT TYPE="submit" VALUE="确定"> show.jsp: <%@page contentType="text/html;charset=gb2312" %> jsp:useBean id="sb" scope="page" class="com.myapp.beans.SimpleBean" /> HTML> HEAD> TITLE>简单JavaBean BODY> <%request.setCharacterEncoding( "gb2312");%> jsp:setProperty name="sb" property="*"/> h1>姓名: h1>密码:

    要实现值的自动填充,必须使表单元素名与 JavaBean 中的属性名保持一致,
    并且类型也要保持一致。

    使用 JavaBean 的登录范例

    LogBean.java:
    package com.myapp.beans;
    import java.util.*;
    public class LogBean {
    private String name;
    private String password;
    private Hashtable errors; // store err msg
    public LogBean() {
    name = "";
    password = "";
    errors = new Hashtable();
    }
    public boolean validate() {
    boolean ok = true;
    if (name.equals("") || name == null) {
    errors.put("name", " plz niput ur name");
    name = " ";
    ok = false;
    }
    if (password.equals("") || password == null ||
    password.length() < 6) {
    errors.put("password", "password length mush gt
    );
    password = " ";
    ok = false;
    }
    return ok;
    }
    public void setName(String name) {
    this.name = name;
    }
    public void setPassword(String password) {
    this.password = password;
    }
    public String getName() {
    return this.name;
    }
    public String getPassword() {
    return this.password;
    }
    public String getErrorMsg(String message) {
    String errorMsg = (String) errors.get(message.trim());
    return ((errorMsg == null) ? " " : errorMsg);

    }
    }
    这个 JavaBean 里增加了表单数据校检功能。

    index.jsp:
    <%@page contentType="text/html;charset=gb2312" %>
    jsp:useBean id="loginfo" class="com.myapp.beans.LogBean"
    scope="request"/>
    HTML>
    HEAD>
    TITLE>登录JavaBean

    BODY> FORM METHOD=POST ACTION="login.jsp"> 帐号: <%=loginfo.getErrorMsg("name") %>
    密码: <%=loginfo.getErrorMsg("password") %>
    INPUT TYPE="submit" VALUE="确定">

    注意到这个登录页可以用来显示错误信息。
    login.jsp:

    <%@ page contentType ="text/html;charset=gb2312"%>
    jsp:useBean id ="loginfo" class ="com.myapp.beans.LogBean" scope ="request" />
    HTML>
    HEAD>
    TITLE> 简单JavaBean

    BODY> <%request.setCharacterEncoding( "gb2312");%> jsp:setProperty name="loginfo" property ="*"/> <% if(loginfo.validate()) { %> jsp:forward page="show.jsp"/> <% } else{ %> jsp:forward page="index.jsp" /> <% } %>

    show.jsp:
    <%@page contentType="text/html;charset=gb2312" %>
    jsp:useBean id="loginfo" class="com.myapp.beans.LogBean"
    scope="request"/>
    HTML>
    HEAD>
    TITLE>简单JavaBean

    BODY> 表单数据符合要求! h1>姓名: h1>密码: 这三个页面共用了一个在 request 范围内有效的 JavaBean 对象,

    index.jsp 利用它来显示错误信息,show.jsp 利用它来显示表单数据。

  • 相关阅读:
    抓取六房间小姐姐小视频
    fiddler报错:creation of the root certificate was not successful 证书安装不成功
    修改cmd命令默认路径
    二维码的生成
    大话设计模式Python实现-单例模式
    大话设计模式Python实现-迭代器模式
    大话设计模式Python实现-组合模式
    大话设计模式Python实现-备忘录模式
    大话设计模式Python实现-适配器模式
    大话设计模式Python实现-状态模式
  • 原文地址:https://www.cnblogs.com/cyy-13/p/5718601.html
Copyright © 2011-2022 走看看