JavaBean 是一种JAVA语言写成的可重用组件
JavaBean有三个特性:
1、javaBean必须是一个public的类
2、JavaBean有一个不带参数的构造函数,如果public类的构造函数包含参数的话,那这个类不能做为JavaBean
3、JavaBean通过 getProperty获取属性,通过setProperty设置属性
声明JavaBean:
<jsp:useBean id="cart" scope="session" class="comjackyShoppingCart"></jsp:useBean>
使用JavaBean:
<jsp:getProperty name="cart" property="quantity" />
注意使用时的name属性要和声明时的id属性一致。
这种问题我太熟了,有x种解决方法介绍给你们。
1、定义JavaBean类
定义一个与表相对应的JavaBean类,该类中需要包含对应表的字段,并使用getters和setters方法来访问这些字段。例如:
public class User {
private int id;
private String name;
private String email;
// Getters and setters for the fields
public int getId() {
return id;
}
public void setId(int id) {
thisid = id;
}
public String getName() {
return name;
}
public void setName(String name) {
thisname = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
thisemail = email;
}
}
2、使用useBean指令
使用useBean指令在JSP页面中引用JavaBean类,并创建JavaBean对象。例如:
<jsp:useBean id="user" class="comexampleUser" scope="session" />
3、改写insert方法
在提交表单数据时,将数据封装到JavaBean对象中,并通过DAO层将JavaBean插入到数据库中。例如:
String name = requestgetParameter("name");
String email = requestgetParameter("email");
// Create a new user object and set its properties
User user = new User();
usersetName(name);
usersetEmail(email);
// Insert the new user into the database using DAO layer
UserDAO userDAO = new UserDAO();
userDAOinsert(user);
4、改写queryByld方法
在查询数据时,通过DAO层获取JavaBean对象,并将其存储到request作用域中,以便在另一个页面中访问。例如:
int id = IntegerparseInt(requestgetParameter("id"));
UserDAO userDAO = new UserDAO();
// Get the user object by id using DAO layer
User user = userDAOqueryById(id);
// Store the user object in request attribute
requestsetAttribute("user", user);
// Forward to a JSP page to display the user information
RequestDispatcher dispatcher = requestgetRequestDispatcher("/userjsp");
dispatcherforward(request, response);
5、创建用户信息展示页面
创建一个JSP页面(例如userjsp),用于展示从数据库中查询出来的用户信息。在页面中使用EL表达式和JavaBean对象的属性来显示用户信息。例如:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri=">
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>User Information</title>
</head>
<body>
<h1>User Information</h1>
<c:if test="${not empty user}">
<p>Name: ${username}</p>
<p>Email: ${useremail}</p>
</c:if>
</body>
</html>
以上就是如何使用JavaBean和useBean来改写insert和queryByld方法,并将结果跳转到另一个页面显示的步骤
就是这些啦,整理不易,看完记得点个赞再走呀~
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="Box" %>
<jsp:useBean id="box" class="Box" scope="page">
</jsp:useBean>
<jsp:setProperty name="box" property="length" param="length"/>
<jsp:setProperty name="box" property="width" param="width"/>
<jsp:setProperty name="box" property="height" param="height"/>
<html>
<head>
<title>用HTML表单设置JavaBean的属性</title>
</head>
<body>
<div align="center">
<center>
<table border="1" width="46%">
<form name="form1" action="" method="post">
<tr>
<td width="44%">请输入盒子的长:</td>
<td width="56%"> <input type="text" name="length" size="20"></td>
</tr>
<tr>
<td width="44%">请输入盒子的宽:</td>
<td width="56%"> <input type="text" name="width" size="20"></td>
</tr>
<tr>
<td width="44%">请输入盒子的高:</td>
<td width="56%"> <input type="text" name="height" size="20"></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><input type="submit" name="T1" size="20" value="提交">
<input type="reset" name="T1" size="20" value="重置"> </td>
</tr>
</form>
<tr>
<td width="44%">您输入的盒子的长是:</td>
<td width="56%"><%=boxgetLength()%></td>
</tr>
<tr>
<td width="44%">您输入的盒子的宽是:</td>
<td width="56%"><%=boxgetWidth()%></td>
</tr>
<tr>
<td width="44%">您输入的盒子的高是:</td>
<td width="56%"><%=boxgetHeight()%></td>
</tr>
</table>
</center>
</div>
</body>
</html>
JavaBean简介
JavaBeans就是符合某种特定的规范的Java类。使用JavaBeans的好处是解决代码重复编写,减少代码冗余,功能呢个区分明确,提高了代码的维护性。
JavaBean的设计原则
公有类、无参的公有构造方法、属性私有、getter和setter方法。
什么事JSP动作
JSP动作元素(action elements),动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。
JSP动作元素一共包含五类:
第一类是与存取JavaBean有关的,包括:
<jsp:useBean> <jsp:setProperty> <jsp:getProperty>
第二类是JSP12就开始有的基本元素,包括6哥动作元素
<jsp:include> <jsp:forward> <jsp:param> <jsp:plugin> <jsp:params> <jsp:fallback>
第三类是JSP20新增加的元素,主要与JSP Document有关,包括六个元素
<jsp:> <jsp:root> <jsp:declaration> <jsp:scriptlet> <jsp:expression> <jsp:text> <jsp:output>
第四类是JSP20新增的动作元素,主要是用来动态生成XML元素标签的值,包括3个动作
<jsp:attribute> <jsp:body> <jsp:element>
第五类是JSP2,0新增的动作元素,主要是用在Tag File中,有两个元素
<jsp:invoke> <jsp:dobody>
在JSP页面中使用JavaBeans的方式
1像使用普通Java类一样创建JavaBean实例。
2在JSP页面中通常使用JSP动作标签使用JavaBean。
常用的JSP动作标签是:useBeans动作、setProperty动作、getProperty动作。
<jsp:useBeans>
作用:在JSP页面中实例化或者在指定范围内使用JavaBean:
格式:<jsp:useBean id="标识符" class="java类名" scope="作用范围" />
其中id就是JavaBean对应的实例。
<jsp:setProperty>
作用:给已经实例化的JavaBean对象的属性赋值,一共有四种形式:
<jsp:setProperty name="JavaBean实例名" property="" />(跟表单关联)
<jsp:setProperty name="JavaBean实例名" property="JavaBean属性名" />(跟表单关联)
<jsp:setProperty name="JavaBean实例名" property="JavaBean属性名" value="BeanValue" />(手工设置)
<jsp:setProperty name="JavaBean实例名" property="propertyName" param="request对象中的参数名" />(跟表单关联)(这里的属性可以通过URL传参的方式来赋值)
<jsp:getProperty>
作用:获取指定JavaBean对象的属性值。
格式:<jsp getProperty name="JavaBean实例名" property="属性名" />
JavaBean的四个作用域范围
说明:使用useBeans的scope属性可以用来指定javabean的作用范围:
page //仅在当前页面有效
request //可以通过>
Spring容器提供了一种管理方法,致力于解决我们各个层级之间的对象的调用关系。
我们通常调用各层级对象的时候,需要不断创建对象,一次访问就需要创建两个对象;如果我们使用Spring容器,将不同层级的对象放入容器中,每次使用的时候调用容器中的对象,就不用创建那么多对象,达到节约内存空间的目的。简单来讲,Spring容器就是存储JavaBean对象的容器。
BeanFactory是一个接口,需要创建继承的子类对象。下图是其继承结构图:
方式二:使用ClassPathApplicationContext获取容器类
这个方法替代了方式一,是我们创建容器类对象主要使用的方法。
方式三:使用FileSystemXmlApplicationContext来获取容器对象
这种方式在创建对象的时候需要传入配置文件的绝对路径,这个方法可以使用项目外部的配置文件
IOC(inversion of controller)指的是控制反转,简单来书,就是讲创建对象的过程或者创建对象的权限交给了spring框架来帮我们处理,我们不用再通过new的方式来创建JavaBean对象,这个过程就叫做IOC。
首先在applicationContext中配置我们的对象
然后从容器中获取我们的JavaBean对象
创建bean的工厂类
在配置文件中进行配置
获取JavaBean对象
创建工厂类的方式与上面相同
在配置文件中进行配置
获取JavaBean对象
Bean属性scope可以声明bean的作用域范围,Bean的作用域范围有四种:
我们可以在JavaBean类中添加init-method与destroy-method两个方法,实现bean在初始化和关闭的时候调用的方法,然后在配置文件中进行配置。
JavaBean类
配置文件
DI(dependency injection)指的是依赖注入,简单来说就是使用spring框架对我们的JavaBean对象赋值的过程。
使用上文中创建的JavaBean类
注意:一定要给属性生成对应的setter方法
配置JavaBean类的属性
从容器中获取我们的JavaBean对象
在JavaBean中生成带所有属性的构造方法
在配置文件中申明JavaBean对象
申明的另一种方法:
调用JavaBean的属性
P名称空间与C名称空间其实都是不存在的虚拟空间,主要是用于简化我们的spring为JavaBean属性赋值时的配置。
添加P名称空间与C名称空间到schema
通过setter方法进行赋值:
等价于:
通过构造方法进行赋值
等价于:
Spel表达式,类似于jstl与el表达式的语言,spring可以支持我们在为属性赋值的时候,通过spel表达式来进行更改我们的属性值。
创建一个含有集合属性的JavaBean类
为集合属性注入值
以上就是关于什么是javabean简述javabean的特点全部的内容,包括:什么是javabean简述javabean的特点、Javaweb编程技术作业求助,谢谢、编写一个JavaBean的小程序(包括利用setProperty,getProperty设定属性或获得属性)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)