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. [BZOJ4815][CQOI2017]小Q的表格 数论+分块

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4815 题目中所给条件中的$(a,a+b)$和$(a,b)$的关系很瞩目. 然后大家都知道$ ...

  2. 【JavaScript】之函数的this

    提起函数中的this是很多初学者较为苦恼的,也是很多工作一段时间的人也存在误解的,你问this指向的是谁,大多数人会随口一答当然是指向调用这个函数的元素,当然这也没什么错,可是函数的调用方法不同thi ...

  3. 微信小程序button授权页面,用户拒绝后仍可再次授权

    微信小程序授权页面,进入小程序如果没授权跳转到授权页面,授权后跳转到首页,如果用户点拒绝下次进入小程序还是能跳转到授权页面,授权页面如下 app.js  中的 onLaunch或onShow中加如下代 ...

  4. yii在Windows下安装(通过composer方式)

    Composer 安装: (Composer 不是一个包管理器,它仅仅是一个依赖管理工具.它涉及 "packages" 和 "libraries",但它在每个项 ...

  5. AIX 10G HA RAC卸载

    删除 1:crs_stat –t资源都停掉 2:停ha 3: 删除oracle 4:删除crs 5: 删除ha smit hacmp 6: 删除vg exportvg 7;卸载hacmp smitty

  6. hibernate fetch属性

    fetch的属性值有:select(默认值).join.subselect 1)当fetch=”select”时,程序会先查询返回要查询的主体对象,然后根据lazy属性看是否懒加载. 2)当fetch ...

  7. 在vue中场景,循环行,点击当前行编辑数据

    当前列表 点击编辑,行变为编辑框. <Row style="color:#999;margin-bottom:11px"> <Row style="ma ...

  8. 怎么在在php配置文件中打开php_fileinfo扩展

    运行composer下载文件时的相关报错截图 处理方法: 在php配置文件中打开php_fileinfo扩展 你需要在查看是否有这个扩展包, 如果有, 那就在php.ini写 extension=ph ...

  9. php更改wampserver的站点目录

    我都wampserver安装在f盘 F:\wamp\bin\apache\Apache2.4.4\conf文件夹下的hhtpd.conf文件ctrl+f查找DocumentRoot,第二次的位置修改即 ...

  10. ssh架包下载地址

    1.连接MySQL数据库所需架包点击进入官网下载 2.连接Oracle数据库所需架包点击进入官网下载 3.JUnit测试所需架包点击进入官网下载或者点击进入官网下载 4.Struts所需架包点击进入官 ...