javaBean组件引入:

javaBean是使用java语言开发的一个可重用的组件,在Jsp开发中可以使用javaBean减少重复代码,使整个JSP代码的开发更简洁。

我们首先创建一个类叫做Student 她有两个属性,age(年龄)    name(姓名)

代码如下:

 package com.java1234.model;
public class Student {
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

Student.java

若使用简单的取变量使用变量是这样的:

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="com.java1234.model.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean</title>
</head>
<body>
<%
Student student =new Student();
student.setName("王二小");
student.setAge(12);
%>
<h1>姓名:<%=student.getName() %></h1>
<h1>年龄:<%=student.getAge() %></h1>
</body>
</html>

Javabean01.jsp

如果我们使用jsp:useBean创建javabean(我们会发现大大简化了代码的数量)

不需要<%@page import="com.java1234.model.Student" >

jsp:useBean创建javabean:

<jsp;useBean id=实例化对象的名称scope=“保存范围”class=类完整名称/>

Scope,一共有page(页面),request(请求),session(会话)和application4个属性范围,默认是page;

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean</title>
</head>
<body>
<jsp:useBean id="student" scope="page" class="com.java1234.model.Student"/>
<%
student.setAge(18);
student.setName("王二小");
%>
<h1>姓名:<%=student.getName() %></h1>
<h1>年龄<%=student.getAge() %></h1>
</body>
</html>

javabean02.jsp

jsp:setProperty设置javabean属性值:

<jsp:setProperty property=”属性名称”name=”实例化对象的名称”value=”属性值”param=”参数名称”/>

Property=”*”自动匹配所有。

如果我们不使用setProperty(创建一个student.jsp form表单提交界面):

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean</title>
</head>
<body>
<form action="javaBean03.jsp" method="post">
<table>
<tr>
<td>姓名</td>
<td><input type="text" id="name" name="name"/></td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" id="age" name="age"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"></td>
</tr>
</table> </form>
</body>
</html>

student.jsp

此时javabean03.jsp文件request.getParameter()方法获取name 和 age :

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="com.java1234.model.Student" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Setproperty</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
String age=request.getParameter("age");
Student student=new Student(); student.setAge(Integer.parseInt(age));
student.setName(name);
%>
<h1>姓名:<%=student.getName() %></h1>
<h1>年龄:<%=student.getAge() %></h1>
</body>
</html>

javaBean03.jsp

采用jsp:setProperty进行设置:(此时的Property="*")

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javabean03-1</title>
</head>
<body>
<jsp:useBean id="student" scope="page" class="com.java1234.model.Student" />
<jsp:setProperty property="*" name="student" />
<h2>姓名:<%=student.getName() %></h2>
<h2>年龄:<%=student.getAge() %></h2>
</body>
</html>

javaBean03-1

现在使用Property="name" Property="age"重写为javaBean03-2.jsp。

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean03-1</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id="student" scope="page" class="com.java1234.model.Student" />
<jsp:setProperty property="name" name="student" param="username"/>
<jsp:setProperty property="age" name="student" value="100"/>
<h2>姓&nbsp;名:<%=student.getName() %></h2>
<h2>年&nbsp;龄:<%=student.getAge() %></h2>
</body>
</html>

javaBean03-2.jsp

jsp:getProperty获取javabean属性值:

<jsp:getProperty property=”属性名称” name=”实例化对象的名称”/>

Student.java里面有age name属性。

javaBean04.jsp代码:

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean</title>
</head>
<body>
<jsp:useBean id="student" scope="page" class="com.java1234.model.Student"/>
<%
student.setAge(18);
student.setName("王二小2");
%>
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student" /></h1>
</body>
</html>

javaBean04.jsp

Javabean的保存范围:

Javabean的保存范围有page,request,session,application.默认是page;

page:

在page中我们的上一个例子就是最好的说明,首先page是页面,也就是说在同一个页面存取。

request:

下面写一下在request中的存取,客户端内部跳转<jsp:forward  page="目标文件">

我们把目标文件设置为target01.jsp

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id="student" scope="request" class="com.java1234.model.Student"/>
<jsp:setProperty property="age" name="student" value="12" />
<jsp:setProperty property="name" name="student" value="张狗蛋" />
<jsp:forward page="target01.jsp"/>
</body>
</html>

javaBean04-1.jsp

target01.jsp

目标文件:

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean03-1</title>
</head>
<body>
<jsp:useBean id="student" scope="request" class="com.java1234.model.Student" />
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
</body>
</html>

target01.jsp

Session:(会话—只要浏览器不关闭就会一直存在)目标文件  target02.jsp

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean</title>
</head>
<body>
<jsp:useBean id="student" scope="session" class="com.java1234.model.Student"/>
<jsp:setProperty property="age" name="student" value="12" />
<jsp:setProperty property="name" name="student" value="张狗蛋" />
<h1>session设置完毕</h1>
</body>
</html>

javaBean04-2.jsp

目标文件:

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean03-1</title>
</head>
<body>
<h1>取到Session值</h1>
<jsp:useBean id="student" scope="session" class="com.java1234.model.Student" />
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
</body>
</html>

target02.jsp

Application(很直观的换个浏览器都可以取到值)

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean</title>
</head>
<body>
<jsp:useBean id="student" scope="application" class="com.java1234.model.Student"/>
<jsp:setProperty property="age" name="student" value="12" />
<jsp:setProperty property="name" name="student" value="张狗蛋" />
<h1>application设置完毕</h1>
</body>
</html>

javaBean04-3.jsp

目标文件:

traget03,jsp(换个浏览器一样ok!)

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean03-1</title>
</head>
<body>
<h1>取到application值</h1>
<jsp:useBean id="student" scope="application" class="com.java1234.model.Student" />
<h1>姓名:<jsp:getProperty property="name" name="student"/></h1>
<h1>年龄:<jsp:getProperty property="age" name="student"/></h1>
</body>
</html>

target03.jsp

javabean删除:

Page范围:pageConext.removeAttribute(“javaBean Name”);

Request范围:request.removeAttribute(“javaBean Name”);

Session范围:session.removeAttribue(“javaBean Name”);

Application范围:application.removeAttribue(“javaBean Name”);

 举个例子:

删除session中的值

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBean</title>
</head>
<body>
<%
session.removeAttribute("student");
%>
<h1>session删除成功!</h1>
</body>
</html>

javaBeanDelete.jsp

ok了!

javabean组件的更多相关文章

  1. Java EE JavaBean组件

    一.简介 JavaBean组件是一些可移植.可重用并可组装到应用程序中的Java类,类必须是具体的和公共的. 符合下列设计规则的任何Java类均是以JavaBean: 1.对数据类型“protype” ...

  2. IT兄弟连 JavaWeb教程 JavaBean组件定义

    JavaBean是一种可重复使用的且跨平台的软件组件.JavaBean可分为两种:一种是由用户界面的JavaBean,还有一种是没有用户界面(User Interface,UI),主要负责表示业务数据 ...

  3. Java Web开发技术教程入门-JavaBean组件与Servlet

    补更:阅战阅勇第7/8/9Days笔记 昨天我们了解了JDBC技术的一些日常操作,对于数据库而言,不仅仅的只有"增,删,改,查".博主觉得最重要的是SQL语句的优化,一个" ...

  4. JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。

    JavaBean组件 JavaBean组件实际是一种java类.通过封装属性和方法成为具有某种功能或者处理某个业务的对象. 特点:1.实现代码的重复利用.2.容易编写和维护.3.jsp页面调用方便. ...

  5. JavaBean组件的基本使用-语法

    <jsp:useBean id="实例化对象名称" scope="保存范围" class="包.类名"> </jsp:us ...

  6. JavaBean组件在JSP文档中的应用

    Bean: package cn.donghaua.bean; public class StringBean { private String message = "No message ...

  7. 14 javaBean 组件

    bean类不应该有公开的实例变量. 持续性的值应该通过 getXxx 和 setXxx 方法访问. <jsp: useBean id=”beanName” class=”package.Clas ...

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

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

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

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

随机推荐

  1. Android 给按钮添加监听事件

    在安卓开发中,如果要给一个按钮添加监听事件的话,有以下三种实现方式 1.方式一 public class MainActivity extends ActionBarActivity { @Overr ...

  2. 使用过Fetch之后,你还想使用AJAX吗

    之前做数据交互的时候,请求数据一直使用ajax,看到网上有使用Fetch,所以也想拿来尝尝鲜 本次介绍只涉及fetch相关,传统的ajax基本上不涉及 当然你也要考虑兼容.浏览器支持情况. 一会这个只 ...

  3. 短视频SDK在广电系统的解决方案

    锐动视频编辑SDK集手机视频拍摄和视频剪辑主要功能于一体,同时包含手机端视频配音配乐,字幕特效,滤镜,转场特效等各种功能,全方位满足开发者的需求,并可以快速植入到APP中. 手机端的摄像头录制和直播功 ...

  4. 关于Android软键盘把布局顶上去的问题(一)

    最近接触到了一个登陆页面,布局最上面显示的是一个波纹的view,中间显示账号和密码的EditText,紧接着还有一个Button: 希望:点击EditText时,软键盘不能把波纹的view顶出去,也不 ...

  5. R in action读书笔记(19)第十四章 主成分和因子分析

    第十四章:主成分和因子分析 本章内容 主成分分析 探索性因子分析 其他潜变量模型 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.探索性因 ...

  6. Vue.js语法糖整理

    el:element 需要获取的元素,一定是HTML中的根容器元素 data:用于数据的存储 methods:用于存储各种方法 数据绑定字面量只加载一次{{* msg}} data里面可以进行简单的运 ...

  7. [转] 随机数是骗人的,.Net、Java、C为我作证

    (转自:随机数是骗人的,.Net.Java.C为我作证 - 杨中科   原文日期:2014.05.12) 几乎所有编程语言中都提供了"生成一个随机数"的方法,也就是调用这个方法会生 ...

  8. ubuntu命令行使用ftp客户端

    转载 本篇文章主要介绍在Ubuntu 8.10下如何使用功能强大的FTP客户端软件NcFTP. Ubuntu的源里为我们提供了FTP客户端软件NcFTP,可这款工具对新手来说不是很方便.本文介绍的是一 ...

  9. 迅为嵌入式4412平台兼容3G/4G模块的安卓开发板

    安卓开发板特点说明: 1. 配备16G固态硬盘EMMC存储 2. 64位双通道2GB内存 三星S5M8767电源管理 板载高精度GPS模块 CAN,RS-485等工业接口 板载WIFI蓝牙模块,陀螺仪 ...

  10. swift @objc dynamic

    @objc vs @objc dynamic @objc:  Objective-C entry points One can explicitly write @objc on any Swift ...