JavaBean
    JSP开发初期HTML,css,java代码混杂在一起,给程序的调试和维护带来很大困难。将与HTML分离并将对象和逻辑java代码封装成类就是一个JavaBean组件。
  1.JavaBean创建
    首先Eclipse中创建一个Web项目,然后在src文件夹下创建一个包,这里来存放java文件(JavaBean本质上是一个java文件)。
    接下来在WebContent / WEB-INF 目录下创建名为classes文件夹,并在其目录下创建和上面同名的包。

  2.编写一个JavaBean

    在src/com.ly.bean下创建一个java类,我们来完成对邮箱地址格式正确与否的判断。

    保存后的java文件会自动编译形成一个.class字节码文件,为了让Tomcat找到这个文件,一般编译器会自动添加在WEB-INF/classes中(不会显示在资源管理器上),也可以手动将这个类文件复制过去。

    JavaBean实质上是一个java类,它的特征是:

  • 提供一个默认的无参构造函数。
  • 需要被序列化并且实现了 Serializable 接口。
  • 可能有一系列可读写属性。
  • 所有的属性是私有,方法是公有的
  • 可能有一系列的 getXXX()来获得内部属性或 setXXX()来设置内部属性方法。
  1. package com.lyq.bean;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class Email implements Serializable{
  6. private static final long serialVersionUID = 1L;
  7. private String mailAdd;
  8. private boolean email;
  9. public Email(){}
  10. public Email(String mailAdd) {
  11. this.mailAdd = mailAdd;
  12. }
  13. public boolean isEmail() {
  14. String regex = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
  15. if (mailAdd.matches(regex)) email = true;
  16. return email;
  17. }
  18. public String getMailAdd() {
  19. return mailAdd;
  20. }
  21. public void setMailAdd(String mailAdd) {
  22. this.mailAdd = mailAdd;
  23. }
  24.  
  25. }

  3.在jsp中使用JavaBean

  创建register.jsp页面来写入邮箱,通过表单传递给result.jsp页面

    register.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. <form action="result.jsp" method="post">
  11. <input type="text" name="mailAdd">
  12. <input type="submit">
  13. </form>
  14. </body>
  15. </html>

  result.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ page import="com.lyq.bean" %>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="UTF-8">
  8. <title>Insert title here</title>
  9. </head>
  10. <body>
  11. <div align="center">
  12. <%
  13. String mailAdd = request.getParameter("mailAdd");
  1.        //实例化Email
  1.        Email email = new Email(mailAdd);  
  2. if (email.isEmail())
  3. out.print("That's right!");
  4. else
  5. out.print("false");
  6.  
  7. %>
  8. <jsp:useBean id="mail" class="com.lyq.bean.Email">
  9. <jsp:setProperty property="mailAdd" name="mail" />
  10. 邮箱名为:<jsp:getProperty property="mailAdd" name="mail"/>
  11. </jsp:useBean>
  12. <a href="register.jsp">返回</a>
  13. </div>
  14. </body>
  15. </html>

  效果:

  

这里用了两种方式,第二种方式:

    通过<jsp:useBean>标签来实例化Email对象,<jsp:setProperty>标签来设置JavaBean中的属性信息,<jsp:getProperty>来获取属性信息。

    语法:

  1. <jsp:useBean id="给JavaBean起的名字" class="JavaBean类引入" scope="bean的作用域"></jsp:useBean>
  2. 或者
  3. <jsp:useBean id="给JavaBean起的名字" class="JavaBean类引入" scope="bean的作用域"/>
    scope 的值可以是 page,request,session 或 application

  

  1. <jsp:useBean id="id" class="bean 编译的类" scope="bean 作用域">
  2. <jsp:setProperty name="bean 的 id" property="属性名"
  3. value="value"/>
      通过value来给JavaBean中的属性赋值
  4. <jsp:getProperty name="bean 的 id" property="属性名"/>
  5. ...........
  6. </jsp:useBean>

  另外,对于上面例子中的表单提交,表单信息中的属性名称最好是设置成JavaBean中的属性名称,这样就可以通过

  1. <jsp:setProperty name="" property="*"/>

来接受所有的参数,可以减少重复工作。

  1.  
    

5.JavaBean的更多相关文章

  1. java web学习总结(二十九) -------------------JavaBean的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  2. java web学习总结(二十八) -------------------JSP中的JavaBean

    一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...

  3. JavaBean的用法

    JavaBean是一个可重复使用的软件组件,是用Java语言编写的.遵循一定标准的类. JavaBean是Java Web的重要组件,它封装了数据和操作的功能类,供JSP和Servlet调用,完成数据 ...

  4. JSP复习整理(五)JavaBean使用表单处理数据

    一.先建立用户输入的数据 usingGetparameter.html <!DOCTYPE html> <html> <head> <meta charset ...

  5. JSP复习整理(五)JavaBean生命周期

    一.创建一个JavaBean UserBean.java package jsp.test; public class UserBean { private String userName; priv ...

  6. 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面

    1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...

  7. json、javaBean、xml互转的几种工具介绍

    json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...

  8. javabean和jsp动作元素

    model1就是利用了jsp和javabean 的组合来处理问题.jsp页面如果有太多的逻辑代码的话,维护起来和扩展起来是相当的麻烦的.所以jsp的逻辑代码部分都打包到一种java类当中进行编写.这种 ...

  9. J2EE基础之JavaBean

    J2EE基础之JavaBean 1.什么是JavaBean? JavaBean本质上来说就是一个Java类,它通过封装属性和方法成为具有独立功能.可重复使用的,并可以与其他控件通信的组件对象.通过在J ...

  10. 编写、部署、应用JavaBean

    编写javabean   编写javabean实质上就是编写一个java类.设计javabean类就是要设计这个javabean的属性和方法,类的方法的命名遵循以下规则: 1)如果成员变量的名字是xx ...

随机推荐

  1. 【转帖】2018全球公有云IaaS榜单出炉:阿里、腾讯、中国电信、金山云列前十

    2018全球公有云IaaS榜单出炉:阿里.腾讯.中国电信.金山云列前十 https://news.cnblogs.com/n/628391/ 中国电信貌似就是用的华为的技术 阿里 腾讯 华为 金山 百 ...

  2. jsp文件

    新建的jsp文件比新建的html文件多了一行内容<%@ page contentType="text/html; charset=utf-8" %>,这样不会显示乱码 ...

  3. windows terminal编译实录

    直接甩个大佬链接吧 https://www.bilibili.com/video/av52032233?t=835 安装过程中如果出问题了,靠搜索引擎解决下,微软或者vs的问题可以用biying搜索 ...

  4. BugkuCTF--never give up

    这道题还挺有意思的... http://123.206.87.240:8006/test/hello.php 查看元素,有个1p.html,访问. 还没看到网页元素就跳转了...抓包! 抓到了一堆东西 ...

  5. leecode刷题(30)-- 二叉树的后序遍历

    leecode刷题(30)-- 二叉树的后序遍历 二叉树的后序遍历 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 思路 ...

  6. java对象的几种创建过程

    java对象的创建过程 (1)用new 语句创建对象,这是最常用的创建对象方法. 下面用一个简单的存在继承关系的实例的创建,来叙述对象创建过程中的细节 概括如下: 执行顺序:(优先级从高到低.)静态代 ...

  7. Git复习(七)之自定义git、忽略特殊文件、配置文件

    前言 config 配置有system级别(系统级别). global(用户级别).local(当前仓库)三个 设置先从system->global->local  底层配置会覆盖顶层配置 ...

  8. O005、远程管理 KVM 虚机

    参考https://www.cnblogs.com/CloudMan6/p/5256018.html   上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机,其实 virt ...

  9. Flask-migrate基本使用方法

    数据库迁移操作顺序: 1.python 文件 db init 2.根据需求修改模型 3.python flaskapp文件 db migrate -m"新版本名(注释)" 4.py ...

  10. vue组件之事件

    自定义事件 通过prop属性,父组件可以向子组件传递数据,而子组件的自定义事件就是用来将内部的数据报告给父组件的. <div id="app3"> <my-com ...