Java Bean登录页面实现

在JSP网页开发的初级阶段,并没有所谓的框架和逻辑分层的概念,JSP网页代码是与业务逻辑代码结合在一起的。这些零乱的代码书写方式,给程序的调试及维护带来了很大的困难,直至Java Bean的出现,这一问题才得到了些许改善。


1、JavaBean简介

JavaBean是用于封装某种业务逻辑或对象的Java类,即它是一个可重用的Java软件组件模型。
JavaBean的功能是没有任何限制的,对于任何可以使用java代码实现的部分,都可以使用JavaBean进行封装,如创建一个实体对象,数据库操作、字符串处理等。
在JSP页面中,可以通过JSP提供的动作标签来操作JavaBean对象,包括:`<jsp:useBean>`、`<jsp:setProperty>`、`<jsp:getProperty>`3个标签,在使用过程中无需引入任何第三方的类库。

2、<jsp:useBean>

<jsp:useBean>标签用于在JSP页面中创建一个JavaBean实例,并通过属性的设置将词实例存放到指定的范围内。

语法格式如下:

<jsp:useBean  id = "变量名" scope = "page|request|session|application"   { class = "完整类名"| type = "数据类型" | class = "完整类名" type = "数据类型" | beanName = "完整类名" type = "数据类型"} />

其中 id 属性:用于定义一个变量名(可以理解为JavaBean的一个代号),程序中通过此变量名对JavaBean进行引用。
scope 属性:设置Javabean的作用域,有page request session 与 application四种。
type 属性:指定id属性所定义的变量类型。
beanName属性:指定JavaBean的完整类名,此属性不能与class属性同时存在。


下面通过一个简单的实例进行演示:

package com.zch.javabean;
/**
 *
 * @author zch
 *
 * 创建一个Bean 的类,它是一个JavaBean 对象,类中有一个name属性及相应的getter和setter方法
 *
 */
public class Bean {
    private String name ;

    public String getName() {
        return name + "的JavaBean程序";
    }

    public void setName(String name) {
        this.name = name;
    }

}

(2)创建一个JavaBean之后,在index.jsp页面中通过标签实例化此对象,并调用此对象的方法。关键代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<jsp:useBean id="bean" class="com.zch.javabean.Bean"></jsp:useBean>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>JavaBean主页</title>
  </head>
  <body>
    <%
        bean.setName("ZCH");

     %>
     <h1 align="center"><%=bean.getName() %></h1>
  </body>
</html>

页面输出结果如图所示:
这里写图片描述


3、<jsp:setProperty>

<jsp:setProperty>用于对JavaBean中的属性进行赋值,但JavaBean的属性要提供相应的setter方法。
其语法格式如下:

<jsp:setProperty name="实例名" {   property = "" | property = "属性名" | property = "属性名" value = "值" }/>

下面同样举一实例:

package com.zch.javabean;
/**
 * 
 * @author Administrator
 *
 *创建一个Student类,封装了一个学生实体对象。
 */
public class Student {
    private int id ;
    private int age;
    private String classes ; 
    //省略get与set方法
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getClasses() {
        return classes;
    }
    public void setClasses(String classes) {
        this.classes = classes;
    }

}

(2)创建一个form表单,并将它放在index.jsp页面中

<html>
  <head>

    <title>学生信息</title>

      <style type="text/css">
        *{font-size: 12px;}    
    </style>
  </head>

  <body>
       <div align="center">
        <form action="Student.jsp" method="post">
            <p>学 号:<input type="text" name="id"></p>
            <p>年 龄:<input type="text" name="age"></p>
            <p>
                <input type="submit" value="提 交">
                <input type="reset" value="重 置">
            </p>
        </form>
    </div>
  </body>
</html>

(3)创建student.jsp页面,用于实例化Student对象,并输出相应的属性值

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>学生信息</title>
 <style type="text/css">
        *{font-size: 15px;}    
    </style>
  </head>
  <body>
    <jsp:useBean id="student" class="com.zch.javabean.Student"></jsp:useBean>
    <jsp:setProperty property="*" name="student"/>
    <div align="center">
        <p>学号:<%=student.getId()%></p>
        <p>年龄:<%=student.getAge()%></p>
    </div>
  </body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值