java遇见html jsp_Java遇见HTML——JSP篇之JavaBeans

b2f70230806e281a67253ce0bebfec74.png

一、JavaBean简介及设计原则

f057ec50722f9dfa9c6343ed9afb6393.png

设计原则:公有类、无参的公有构造方法、属性私有、有getter and setter方法

29f10b1fca39cda93aa207667e06d600.png

实例:

1f45b4958b018f7469fab7a41b1ffebf.png

二、Jsp动作元素

562b7f8690ee52ede1666f52c299fb74.png

JSP动作标签分为五大类:

1f214a5bb2ca961c91560f2e92ba5106.png

三、在JSP页面中如何使用JavaBeans

3.1使用普通方式应用javabean

像使用普通Java类一样,创建javabean实例(new关键字)

例子:首先先建一个user类,遵循Javabean的原则。

2db5dfde63f62fa2baead47429dae8db.png

如何在jsp页面进行使用呢

80b7cb4cde3fb29c548da50a6759fe63.png

00ddcc2a530362665e30c741c3d8a8dd.png

具体分析就是:1、创建一个web project项目。

2、在src文件下,创建一个包,在包中创建一个类,满足设计原则即可

3、在index.jsp页面中通过import导入之前创建的类(import="包名.类名")

4、通过使用new创建Javabean实例(创建对象)

5、使用set方法赋值

6、使用get方法取值

3.2、使用JSP动作标签使用javabean

在JSP页面中通常使用jsp动作标签使用javabean。

主要是以下三种动作标签:

useBeans动作

setProperty动作

getProperty动作

3.2.1、

作用:在jsp页面中实例化或者在指定范围内使用Javabean。

cce54bbb71dd11b19a5f08bc2ef73b43.png

其中Java类名应该是Java类的全名(含有包名)。

例子:

44bb218e44cfa006de0ff51d031a2a00.png

3.2.2、

作用:给已经实例化的JavaBean对象的属性赋值,一共有四种形式。

9879dd3ce7600f78e4dd8fdda1eb6954.png

给实例化的Javabean对象赋值有四种方式:1.使用表单自动匹配所有的属性

2.使用表单自动匹配部分属性

3.跟表单无关,用户自己赋值

4.使用URL传参( 在form标签里这样写 action="dologin.jsp?mypass=99999" )

例子:方式一(根据表单对应的name与javabean对应的所有属性名自动匹配)

表单:

08cde9245a6f2778551a688290ea00ed.png

用第①种给实例化的JavaBean对象的属性赋值:

78aa8fb5dc0e0a44af6f537f6c961c3d.png

java类:

2b5f12fe68e2f948b3bbd3d9647df494.png

分析:会自动去匹配名字,然后去调用Java类相应的构造方法,把表单提交过来的值给属性赋值。那么这样就实例化并给Java类属性赋值了。赋值之后就可以获取表单提交的用户名和密码了。

例子:方式二(根据表单对应的name与javabean对应的部分属性名自动匹配)

如:

68fec4a6f0df3f6ce0c5207b6d27514e.png

此处只匹配了用户名username。

例子:方式三(与表单无关,通过手工赋值给属性)

d8503e90c21971d25ffcdb8725667760.png

Ps:value也可以request.获取

例子:方式四(使用URL传参给属性赋值)

265c26770cf718ff5568b3b9bb97e434.png

d18e0375e0b65655b3879a44828cb244.png

此处username是通过表单提交赋值,password是通过URL传参赋值。

3.2.3、

作用:获取指定JavaBean对象的属性值。

7afbe9d7417d0ea148e23ae3478775b5.png

如:

6afea33bc11fed7451985a88c1dce984.png

四、JavaBean四个作用域范围

说明:

使用useBean的scope属性可以用来指定javabean的作用范围

scope="page" 仅在当前页面有效(重定向或者服务器内部转发均后均无效)

scope="request" 可用request.getAttribute()方法获得javabean对象。在当前请求及服务器转发后的请求中有效。

scope="session" 可用session.getAttribute()方法获得javabean对象。在当前会话session有效期间,该对象均有效。

scope="application" 可用application.getAttribute()方法获得javabean对象。范围最广

-- 作用域范围从小到大依次为:page < request < session < application.

bc68c3f28d7db3cf359c44bb80db94ad.png

page(作用域单个页面)、request(作用域单个请求)、session(作用域单个会话)、application(作用域整个web应用)

例子:application、session

页面1

1895be3872781d79cc0dc459e4beb3c5.png

页面2

3d12056bf8ade7ae461a1b65de327659.png

例子:request

页面1

4b0a145ab70ec16562aab6069eb68b22.png

(需要使用服务器内部转发来保证是同一次请求)

aec8000aedbcc6f5848926118fef579f.png

页面2

8b91af99778c4188f9a64681dc846568.png

例子:page

页面1

102178360586ea3a66bf51b82563189d.png

页面2

3f524daf85eb05f5fa929e4aee2f96f9.png

这里即使使用pageContext也是获取不到页面1的属性值。

五、Model1简介

2ff1556d0cba8a2afd78c0f392cd281b.png

2c4b4b9227863000e127ecc44508a831.png

3bbaa05c4f4710c4c6757b96b3b614bc.png

Model1模型是使用JSP+javabeans模式。客户发送请求到JSP页面,以前由JSP页面直接连接数据库则可维护性和扩展性太差,因此通过JSP页面调用javabeans来访问数据库,则可以维护这个系统的扩展性,再由JSP页面返回给客户。

1adc8abbd5f48112328088b58c483ea4.png

则Model1可分为三层:

1.界面层:由JSP页面进行与客户端浏览器的交互,可以直接调用JavaBeans。

2.业务逻辑层:由JavaBeans进行处理业务逻辑,封装数据,并与数据库层进行交互。

3.数据库层:底层数据库,可由JavaBeans来访问数据库。

注:Javabean既可以封装数据同时也可以封装业务逻辑。

六、阶段案例

阶段案例:使用jsp+javabean(即model1)完成用户登录功能。

分析:

先创建用户类Users (这个Javabeans是用来封装数据的)

5cc1cb584ae188ea40bbad5317600053.png

下面编写业务逻辑类UsersDao (这个Javabeans是用来封装业务逻辑的)

6eeb7d4f25eb28cdac2f6673fe8d09f0.png

编写界面login.jsp

dd74d1a21eb17b0ff198d39485b28de6.png

doLogin.jsp

dd998eeb27564bf3280369ef6f75c2af.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值