JSP入门之JSP与JavaBean

系列文章目录


目录

前言

一、编写和使用JavaBean

1.编写JavaBean

2.保存bean的字节码

3.创建与使用bean

二、获取和修改bean的属性

1.getProperty动作标记

三、bean的辅助类

四、JSP与bean结合的简单例子

总结



前言

按照Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。


提示:以下是本篇文章正文内容,下面案例可供参考

一、编写和使用JavaBean

1.编写JavaBean

编写一个JavaBean要遵守以下的规则:                                                                                            ①如果类的成员变量的名字是xxx,那么为了获取或更改bean的属性的值,类中必须提供getXxx()和setXxx()方法。                                                                                                                                ②类中定义的方法的访问权限都必须是public的。                                                                            ③类中必须有一个构造方法是public、无参数的。

public class Circle {
    double radius;
    public Circle(){
        radius = 1;
    }
    public double getRadius(){
        return radius;
    }
    public void setRadius(double newRadius){
        radius = newRadius;
    }
    public double circleArea(){
        return Math.PI * radius * radius;
    }
    double double circleLength(){
        return Math.PI * 2 * radius;
    }
}

2.保存bean的字节码

为了使JSP页面使用bean,Tomcat服务器必须使用相应的字节码文件创建一个对象,即创建一个bean。为了让Tomcat服务器能找到字节码文件,字节码文件必须保存在特定的目录中。

3.创建与使用bean

①使用bean                                                                                                                                        使用JSP动作标记useBean加载使用bean,需要特别主义的是,其中的“创建bean的类”要带有包名,语法格式是:                                                                                                          <jsp:useBean id="bean的名字" class="创建bean的类" scope="bean有效范围">

②bean的加载原理

当JSP页面使用JSP动作标记useBean加载一个bean时,Tomcat服务器首先根据JSP动作标记中useBean中的id给出的bean名字以及scope给出的使用范围,在pageContent内置对象中查找,如果没有找到就创建一个bean,并生成字节码文件。

③bean的有效范围和生命周期

page bean:有效范围是用户访问的当前页面,存活时间直到当前页面执行完毕。                          session bean:有效范围是用户访问的Web服务目录下的各个页面,存活时间是用户的会话期间,直到用户的会话消失。                                                                                                                        request bean:有效范围是用户请求的当前页面,存活时间是从用户的请求产生到结束。                application bean:有效范围是当前Web服务目录下的各个页面,存活时间直到Tomcat服务器关闭。

<%@ page contentType="text/html"%>
<%@ page pageEncoding="utf-8"%>
<HTML><bodgy bgcolor="#ffccff">
    <style>
        #textStyle{
            font-family:宋体;font-size:36px;color:blue
        }
    </style>
    <HTML><body bgcolor="#ffccff">
    <p id = "textStyle">
    <jsp:useBean id="circle" class="ch4_Person.Circle" scope="page"/>
    圆的初始半径是:<%=circle.getRadius()%>
    <%double newRadius = 100;
      circle.setRadius(newRadius);
    %>
    <br>修改半径为<%=newRadius%>
    <br><b>圆的半径是:<%=circle.getRadius()%>
    <br><b>圆的周长是:<%=circle.circleLength()%>
    <br><b>圆的面积是:<%=circle.circleArea()%>
</p></body></HTML>

二、获取和修改bean的属性

获取或修改bean的属性可以使用JSP动作标记getProperty、setProperty,这种情况下,要求创建bean的类遵守setXxx和getXxx等规则。

1.getProperty动作标记

使用getProperty动作标记可以获得bean的属性值,并将这个值用串的形式发送给用户的浏览器。使用getProperty动作标记之前,必须使用useBean动作标记获得相应的bean,语法格式如下:      <jsp:getProperty name="bean的id" property="bean的属性">

2.setProperty动作标记

使用setProperty动作标记可以设置bean的属性值。使用这个动作标记之前必须使用useBean标记得到一个相应的bean。

setProperty动作标记可以通过两种方式设置属性值:                                                                        

①将bean属性值设置为一个表达式的值或字符序列。                                                                        <jsp:setProperty name="bean的id" property="bean的属性" value="字符序列"/>

②通过HTTP表单的参数值设置bean的相应属性值                                                                             用form表单的所有参数值设置bean相应属性值的使用格式如下:                                                     <jsp:setProperty name="bean的id的名字" property="*"/>                                                                 用form表单的某个参数的值设置bean的某个属性值的使用格式如下:                                               <jsp:setProperty name="bean的名字" property="属性名" param="参数名"/>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%  request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id = "person" class = "ch4_Person.Person" scope = "request"/>
<form action = "" Method = "post">
    偶像名字:<input type = "text" name = "name"/><br>
    偶像年龄:<input type = "text" name = "age"/><br>
    <input type = "submit" name = "submit" value = "提交"/>
</form>
<jsp:setProperty name = "person" property = "name" param = "name"/>
<jsp:setProperty name = "person" property = "age" param = "age"/>
名字:<jsp:getProperty name = "person" property = "name"/><br>
年龄:<jsp:getProperty name = "person" property = "age"/><br>
</body>
</html>

三、bean的辅助类

在写一个创建bean的类时,除了需要用import语句引入JDK提供的类,可能还需要自己编写一些其他的类,只要将这样的类的包名和bean类的包名一致即可。

四、JSP与bean结合的简单例子

JSP页面中调用bean可以将数据的处理从页面中分离出来,实现代码复用,以便更有效地维护一个Web应用。

<%@ page contentType="text/html"%>
<%@ page pageEncoding="utf-8"%>
<HTML><bodgy bgcolor="#ffccff">
    <style>
        #textStyle{
            font-family:宋体;font-size:36px;color:blue
        }
    </style>
    <%request.setCharacterEncoding("utf-8");%>
    <HTML><body bgcolor="#ffccff">
    <jsp:useBean id="triangle" class="ch4_Person.Triangle" scope="request"/>
    <form action="" method="post">
        输入三角形三边:
        边A:<input type="text" name="sideA" id="textStyle" value="0" size="5">
        边B:<input type="text" name="sideB" id="textStyle" value="0" size="5">
        边C:<input type="text" name="sideC" id="textStyle" value="0" size="5">
        <br><input type="submit" id="textStyle" value="提交">
    </form>
    <jsp:setProperty name="triangle" property="*"/>
    三角形的三边是:
    <jsp:getProperty name="triangle" property="sideA"/>
    <jsp:getProperty name="triangle" property="sideB"/>
    <jsp:getProperty name="triangle" property="sideC"/>
    <br><b>这三个边能构成一个三角形吗?<jsp:getProperty name="triangle" property="isTriangle"/>
    <br>面积是:<jsp:getProperty name="triangle" property="area"/></b>
</p></body></HTML>


总结

以上就是今天要讲的内容,本文仅仅简单介绍了JavaBean的使用,要想深入了解JavaBean的使用可以参考其他人的博客。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值