zoukankan      html  css  js  c++  java
  • javaBean介绍

     javaBean介绍

     javaBean 概述

    起初,JavaBean的目的是为了将可以重复使用的代码进行打包,在传统的应用中,JavaBean主要用于实现一些可视化界面,如一个窗体、按钮、文本框等,这样的JavaBean称之可视化的JavaBean。随着技术的不断发展与项目的需求,目前JavaBean主要用于实现一此业务逻辑或封装一些业务对象,由于这样的JavaBean并没有可视化的界面,所以又称之为非可视化的JavaBean。
    可视化的JavaBean一般应用于Swing的程序中,在Java Web开发中并不会采用,而是使用非可视化的JavaBean,实现一此业务逻辑或封装一些业务对象,下面就通过实例来了解一下非可视化的JavaBean。

    JavaBean种类

    1.**可视化的JavaBean:**主要实现一些可视化的界面
    2.**非可视化的JavaBean:**实现一些业务逻辑或一些业务对象。


    JavaBean的应用

    1.获取JavaBean的属性信息

    在javaBean对象中,为了防止外部直接对JavaBean属性的调用,通常将JavaBean中的属性设置为私有的(private),但需要为其提供公共的(public)访问方法,也就是getXXX()方法。

    说明:使用 jsp:useBean标签可以实例化JavaBean对象,jsp:getProperty标签可以获取JavaBean中的属性信息,这两个标签可以直接操作我们所编写的类,但是它在JSP 页面中并不可以操作所有的Java类。

    jsp:useBean标签与jsp:getProperty标签之所以可以操作java类,是因为我们所编写的Java类遵循了JavaBean规范。jsp:useBean标签获取类的事例,其内部是通过实例化类的默认构造方法进行获取,所以,JavaBean需要一个默认的无参的构造方法;jsp:getProperty标签获取JavaBean中的属性,其内部是通过调用指定类型的getXXX方法进行获取,所以,JavaBean规范要求为属性提供公共的(public)类型的访问器。因此,在编写就JavaBean是要遵循制定的JavaBean规范。


    2.对JavaBean属性赋值

    编写JavaBean对象要遵循JavaBean规范,在JavaBean'规范中的访问器的setXXX()方法,用于对JavaBean中的属性赋值,如果对JavaBean对象的属性提供了setXXX()方法,在JSP页面中就可以通过,<jsp:setProperty>对其进行赋值


    3.在JSP页面中应用JavaBean

    将JavaBean对象应用到JSP页面中,JavaBean的生命周期可以自行进行设置,它存在于4种范围之内,分别为:page、request、session、application,默认的情况下,JavaBean作用于page范围之内。


    4.实例

    实现档案管理系统,在其中录入用户信息功能,主要通过在JSP 页面中应用JavaBean进行实现。

    (1) 创建名称为Person的类,实现对用户信息的封装。

     1 package dao;
     2 
     3 public class Person {
     4     // 姓名
     5     private String name;
     6     // 年龄
     7     private int age;
     8     // 性别
     9     private String sex;
    10     // 住址
    11     private String add;
    12     public String getName() {
    13         return name;
    14     }
    15     public void setName(String name) {
    16         this.name = name;
    17     }
    18     public int getAge() {
    19         return age;
    20     }
    21     public void setAge(int age) {
    22         this.age = age;
    23     }
    24     public String getSex() {
    25         return sex;
    26     }
    27     public void setSex(String sex) {
    28         this.sex = sex;
    29     }
    30     public String getAdd() {
    31         return add;
    32     }
    33     public void setAdd(String add) {
    34         this.add = add;
    35     }
    36 }

    (2)创建程序的主页面index.jsp,在该页面中放置录入用户信息所需要的表单

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10     <form action="reg.jsp" method="post">
    11         <table align="center" width="400" height="200" border="1">
    12             <tr>
    13                 <td align="center" colspan="2" height="40">
    14                     <b>添加用户信息</b>
    15                 </td>
    16             </tr>
    17             <tr>
    18                 <td align="right">姓 名:</td>
    19                 <td>
    20                     <input type="text" name="name">
    21                 </td>
    22             </tr>
    23             <tr>
    24                 <td align="right">年 龄:</td>
    25                 <td>
    26                     <input type="text" name="age">
    27                 </td>
    28             </tr>
    29             <tr>
    30                 <td align="right">性 别:</td>
    31                 <td>
    32                     <input type="text" name="sex">
    33                 </td>
    34             </tr>
    35             <tr>
    36                 <td align="right">住 址:</td>
    37                 <td>
    38                     <input type="text" name="add">
    39                 </td>
    40             </tr>
    41             <tr>
    42                 <td align="center" colspan="2">
    43                     <input type="submit" value="添 加">
    44                 </td>
    45             </tr>
    46         </table>
    47     </form>
    48 </body>
    49 </html>

    (3)创建名称为reg.jsp的JSP页面,用于对index.jsp页面中的表单的提交请求进行处理。

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10     <%request.setCharacterEncoding("UTF-8");%>
    11     <jsp:useBean id="person" class="dao.Person" scope="page">
    12         <jsp:setProperty name="person" property="*"/>
    13     </jsp:useBean>
    14     <table align="center" width="400">
    15         <tr>
    16             <td align="right">姓 名:</td>
    17             <td>
    18                 <jsp:getProperty property="name" name="person"/>
    19             </td>
    20         </tr>
    21         <tr>
    22             <td align="right">年 龄:</td>
    23             <td>
    24                 <jsp:getProperty property="age" name="person"/>
    25             </td>
    26         </tr>
    27         <tr>
    28             <td align="right">性 别:</td>
    29             <td>
    30                 <jsp:getProperty property="sex" name="person"/>
    31             </td>
    32         </tr>
    33         <tr>
    34             <td align="right">住 址:</td>
    35             <td>
    36                 <jsp:getProperty property="add" name="person"/>
    37             </td>
    38         </tr>
    39     </table>
    40 </body>
    41 </html>

    运行结果:

     

  • 相关阅读:
    Packet for query is too large (1986748 > 1048576). You can change this value on the server by 异常
    解决springdatajpa插入大量数据速度慢的问题
    thymeleaf onclick方法向js方法传递参数
    git的使用(扫盲)
    【错误总结】Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.
    SpringBoot集成Swagger(Swagger的使用),生成接口文档,方便前后端分离开发
    spring中后台接收参数总结
    PTA 03-树3 Tree Traversals Again (25分)
    PTA 03-树2 List Leaves (25分)
    PTA 03-树1 树的同构 (25分)
  • 原文地址:https://www.cnblogs.com/znjy/p/14166147.html
Copyright © 2011-2022 走看看