JavaBean知识、原理以及JavaBean的总结,洞悉MySQL底层架构

String pwd=req.getParameter(“password”);

testBean.setName(pwd)

%>

注:

通常 javabean 函数中除了 get 和 set 方法外,还有一个把数据存入 DB 中的方法(也就是和 DB 连接并实现 insert 语句)。

问题:

1.       一个 javabean 当作一个普通的类来使用,( import 类,通过 new 方法构造一个对象,然后通过对象调用方法),和通过 jsp 标记符 jsp:useBean 来使用有区别吗?它和普通的类有什么区别呢? javabean 也可以通过普通类的使用方式来访问呀。上面总结的内容就是这样的呀。

2.       是不是只有通过标记符 jsp:useBean 来使用才能真正体检 javabean 组件的优势:自动赋值?如果不使用标记符 jsp:useBean 可以实现自动赋值吗?

有待实验解决。

解决:(终于明白过来了!)

参考资料:

http://www.faq-it.org/archives/jsp/52ae59e6bc6d13af9ee621213347274a.php

关于 javaBean 原理性的两个问题

作者 :bdsc

初次接触 javaBean ,遇到了两个原理性的问题,没有找到确定的资料得到答案,希望在这儿能得到大家的帮助。

1 、 javaBean 的 class 与普通 java 的 class 有什么区别? javaBean 的类代码有没有明确的规定,比如一定要继承什么类?如没有那怎么说一个 java 的 class 是 javaBean,或不是呢?

2 、 javaBean 是在客户端执行还是在服务器执行呢?

2.1 如果在客户端执行,那是不是在客户端一定要有 jvm ,并且要下载对应的

javaBean 的 class 文件?但我怎么没有在自己的系统盘中找不到相应 javaBean 的

class 文件呢?那 applet 也是在客户端运行,为什么要出现 javaBean 呢?

2.2 如果在服务器执行,那 javaBean 是在客户端生成用户界面而产生的,那服

务器端执行的代码怎么在客户端生成用户界面呢?

---------------------------------------------------------------

1 、对于 javaBean 于普通 java 的 class 类的分别并非很明确 ,主要是 javabean 通常在 jsp 页面上有特殊的引用方法。

2 、 javabean 是在服务器端执行的。 javabean 并不直接生成用户界面(那是 applet 做的事情),而通常只做数据的组织、处理工作。然后通过 jsp 页面来生成用户的界面。

以上只是我个人的理解。我也希望与大家一起讨论。

---------------------------------------------------------------

javaBean 是一种(符合要求的) java 类

*.jsp 在服务器端编译运行,通过封装的 socket (你看到的是 outputStream/ 名字也许不正确 一类的对象)向客户( webbrowser __ie/navigator) 发送普通字符流(按 http协议 ), 这个字符流由浏览器接受,解释然后按一定的格式显示

---------------------------------------------------------------

1 、 javaBean 的 class 与普通 java 的 class 有什么区别? javaBean 的类代码有没有明确的规定,比如一定要继承什么类?如没有那怎么说一个 java 的 class 是 javaBean ,或不是呢?

javaBean 其实就是一个 JAVA 程序。可以在 JSP 里面调用。

ENterprise JavaBean 是用于构建企业应用的 EJB 。必须在应用服务器上面部署。

2 、 javaBean 是在客户端执行还是在服务器执行呢?

javaBean 是在服务器执行,返回给客户端的只是 HTML 代码。

如果要在客户端执行,可以用 APPLET

---------------------------------------------------------------

**sun 很早提出的 javabean 的概念是解决可视的 application 的模块化提出来的,但由于 java 在客户端开发实在不怎么样,所以 sun 没有在这方面再进行,作为界面模块化开发的 javabean 实际上已经死了。(以上纯粹个人观点,欢迎批评)

但是随着 web 应用的兴起 jsp 的出现, jsp 需要这样的概念,功能 / 表现分开,将功能封装在一个模块中,以便实现最大化的代码复用,就又拾起这个 javabean 将它用在 web/jsp 开发上。**

你提到的那篇文章所说的是可视化的 javabean 用在 applet 里的情况 ,以后你可以在心理分清楚(因为也许没人这样看)别人说的是那种 javabean 。

至于具体符合什么要求,说实话我不知道(因为我个人不赞成用 javabean 的)

自己的总结:

1. javaBean 是一种(符合要求的) java 类。 javaBean 与普通 java 的 class 类的分别并非很明确,主要是 javabean 通常在 jsp 页面上有特殊的引用方法。

2. 所以 javabean 既可以当作普通的类来使用,也可以在 jsp 页面上有特殊的引用方法。

3.       对于第三个问题:是不是只有通过标记符 jsp:useBean 来使用才能真正体检 javabean 组件的优势:自动赋值?如果不使用标记符 jsp:useBean 可以实现自动赋值吗?

答:不是的。 Jsp 的自动赋值是指:通过 <jsp:setProperty name=”myBean” property=”*” /> 这个属性访问标记符就可以轻松实现对 jsp 页面上所有参数的赋值,方便一点,而如果用普通类的访问方式,需要一一获取各项值,一一调用 set 方法而已。比如:

<%

StuInfoBean stuInfoBean=new StuInfoBean();

String stuNo=request.getParameter(“stuNo”);

String stuName=request.getParameter(“stuName”);

stuInfoBean.setStuNo(stuNo);

stuInfoBean.setStuName(stuName);

%>

4.       所以 javabean 只是一个符合必须有 set 和 get 方法,并且可以在 jsp 上有特殊引用方式的 java 类。

二、 一个例子,分别使用 jsp 特殊引用方式和普通类的使用方式来实现对 javabean 的调用:

主要的区别在于两个地方:

1 ) 对类的使用:

l         jsp 标记符方式:使用 <jsp:useBean />

l         普通类方式: <%@ page import=“com.javaBean.StuInfoBean” %>

2 ) 对属性的赋值:

l         jsp 标记符方式: <jsp:setProperty name=“stuInfoBean” property=“*” />

l         普通类方式:

<%

StuInfoBean stuInfoBean=new StuInfoBean();

String stuNo=request.getParameter(“stuNo”);

String stuName=request.getParameter(“stuName”);

stuInfoBean.setStuNo(stuNo);

stuInfoBean.setStuName(stuName);

%>

具体代码如下:

1.       使用 jsp 特殊引用方式**( StuInfo.jsp )** :

 <% @ page contentType = " text/html;charset=GBK "   %>   

< html >   

< head >   

< title > I use javabean individually </ title >   

</ head >   

< jsp:useBean id = " stuInfoBean "  scope = " session "   class = " com.javaBean.StuInfoBean "    />   

< jsp:setProperty name = " stuInfoBean "  property = " * "   />  

 < body >   

< center >   

< form name = " myForm "  action = " test.jsp " >   

< table >   

< tr >   

< td >  

stuNo is:

  </ td >   

< td >   

< input type = " text "  size = 20  name = " stuNo "  value = “” >   

</ td >   

</ tr >   

< tr >   

< td >  

stuName is:

  </ td >   

< td >   

< input type = " text "  size = 20  name = " stuName "  value = “” >   

</ td >   

</ tr >   

< tr >   

< td >   

< input type = " submit "    value = " 显示 " >   

</ td >   

</ tr >   

</ table >   

</ form >   

< hr >   

< table >   

< tr >   

< td >  

stuNo is:

  </ td >   

< td >   

<%= stuInfoBean.getStuNo() %>   

</ td >   

</ tr >   

< tr >   

< td >  

stuName is:

  </ td >   

< td >   

<%= stuInfoBean.getStuName() %>   

</ td >   

</ tr >   

</ table >   

</ center >   

</ body >   

</ html >

2.       普通类的使用方式**( StuInfo.jsp )** :

 <% @ page contentType = " text/html;charset=GBK "   %>   

<% @ page  import = " com.javaBean.StuInfoBean "   %>   

< html >   

< head >   

< title > I use javabean individually </ title >   

</ head >   

< body >   

< center >   

<%  

StuInfoBean stuInfoBean = new  StuInfoBean();

String stuNo = request.getParameter( " stuNo " );

String stuName = request.getParameter( " stuName " );

stuInfoBean.setStuNo(stuNo);

stuInfoBean.setStuName(stuName);

 %>    

 < form name = " myForm "  action = " StuInfo.jsp " >   

< table >   

< tr >   

< td >  

stuNo is:

  </ td >   

< td >   

< input type = " text "  size = 20  name = " stuNo "  value = “” >   

</ td >   

</ tr >   

< tr >   

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

img
img

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024b 备注Java获取(资料价值较高,非无偿)
img

惊喜

最后还准备了一套上面资料对应的面试题(有答案哦)和面试时的高频面试算法题(如果面试准备时间不够,那么集中把这些算法题做完即可,命中率高达85%+)

image.png

image.png

以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**

[外链图片转存中…(img-agRxOFpw-1711553280718)]
[外链图片转存中…(img-sKb1MSKN-1711553280718)]

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024b 备注Java获取(资料价值较高,非无偿)
[外链图片转存中…(img-AhzGgSOg-1711553280718)]

惊喜

最后还准备了一套上面资料对应的面试题(有答案哦)和面试时的高频面试算法题(如果面试准备时间不够,那么集中把这些算法题做完即可,命中率高达85%+)

[外链图片转存中…(img-PcrV3i8i-1711553280718)]

[外链图片转存中…(img-m06LEh7W-1711553280719)]

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值