JavaWeb 20 JavaBean和为什么useBean报错

6.8 JavaBean


我们也把它叫做实体类。

JavaBean 有特定的写法:

  • 必须要有一个无参构造
  • 属性必须私有化
  • 必须有对应的 get/set 方法
  • 一般用来与 数据库的 字段 做映射 ORM

ORM:对象关系映射

  • 表 --> 类
  • 字段 --> 属性
  • 行记录 --> 对象
idnameageaddress
11号19四平
22号20四平
33号21四平

我们 要将这个 数据表,拆成 一个 Java 的类。

class People{
	private int id;
	private String name;
	private int age;
	private String address;
}

class A{
	new People(1,"1号","四平");
	new People(2,"2号","四平");
	new People(3,"3号","四平");
}
  1. 我们先 创建 一个 数据表
    在这里插入图片描述

  2. 写一下 jsp 代码,来看看 如何玩。

<%@ page import="com.muquanyu.pojo.People" %><%--
  Created by IntelliJ IDEA.
  User: muqua
  Date: 2021/8/14
  Time: 8:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
//    People people = new People();
//    people.setId(1);
//    people.setAge(19);
//    people.setName("1号");
//    people.setAddress("四平");
%>



<jsp:useBean id="people" class="com.muquanyu.pojo.People" scope="page"/>

<jsp:setProperty name="people" property="address" value="四平"/>
<jsp:setProperty name="people" property="id" value="1"/>
<jsp:setProperty name="people" property="age" value="19"/>
<jsp:setProperty name="people" property="name" value="1号"/>

姓名:<jsp:getProperty name="people" property="name"/>
年龄:<jsp:getProperty name="people" property="age"/>
序号:<jsp:getProperty name="people" property="id"/>
地址:<jsp:getProperty name="people" property="address"/>
</body>
</html>

在这里插入图片描述

  1. 如何 自动生成 POJO ?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

给 你一个 smbms 项目:狂神课程 看到的

链接:https://pan.baidu.com/s/1cVQzrx6kS0JfO5InMp5PNQ
提取码:dmck

然后自己 去 sql 生成一下 数据库,再用 IDEA 自动生成一下 POJO 试试吧。

  1. 可能 你在 自己写 Bean 类的时候,遇到了 500 报错,要不然 就是找不到 该类的一些 属性的问题。
  • 我只能告诉 大家,千万 别信 那些网上 有的没的。这个 主要原因 就是 你写的 Bean 类 不标准!

Bean 类 有以下 三个准则:

① 属性必须 私有
② 必须有 一个 无参构造
③ 必须 写 public 的 getter 和 setter 方法

如果 以上 三个 准则 没满足的话,你 这 就属于 在瞎搞。你说 你现在 想要 use 这个Bean 类,然后想要 在 JSP 里 实例化,但是 这个 Bean 类 不标准,压根就不是 Bean 类,从根本上 就出问题了,那肯定 就玩完呀 ~ 所以 千万 别信 那些 什么 把 class 文件 移到 tomcat webapps 下,什么 把 class 文件 移到 tm 的 target 项目的 classes 下。 如果 大家 真的 发现 target 下 有 咱们的 类,就 别搞了。基本上 很小概率 会发生 什么 移文件 丢文件的事。。。在这里插入图片描述

  • 第二点 就是 你的 Bean 类 是否在 一个包里!JSP 认为 Bean 类 必须 要在 一个 包里,而不能 是个 裸类!这也属于一个标准。不要 试图挑战标准。。

在这里插入图片描述

  • 再有一个就是 我寒假 复盘 踩到的一个坑,那就是 怀疑 是找不到 Bean 类。哈哈 ~

因为 我在 第一次 遇到这个问题的时候,当然第一反应 就是 检查 target 呀,就发现了 这样的一幕!
在这里插入图片描述
WTF ?? ? 我这个类 不是 在这嘛?

它咋 爆红呢?

其实 根本不用在意 这个,就因为 我 被它 误导,搞了 将近 两个多小时。都没把 问题解决。最后的 解决方案 就是 上面 我说的 那两个 准则 问题!可见 我们在 使用 一些 前人 研发的 东西的时候。一定要 注意 准则,规则。然后再去 做事。要不然 你会 被搞死 的 ~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值