- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 5 章 结合javabean实现CRUD
第?5?章?结合javabean实现CRUD
注意
这里介绍的是在jsp中使用自己写的javabean,不过这种写法也仅仅适用于小型应用,只打算学两下jsp玩玩的朋友可以到此为止了,完成了这章就不必继续下去了,此后难度会加大不少。
如果你不满足以下任一条件,请继续阅读,否则请跳过此后的部分,进入下一章:第?6?章 贴近servlet。
了解如何在jsp中使用自定义的javabean。
了解一些jsp动作(action)。
使用jdbc操作数据库。
5.1.?概念和命名方式
需要提及的两个名词概念:
CRUD是Create(创建)、Read(读取)、Update(更新)和Delete(删除)的缩写,一般应用有这四项也就足够了。
我们这里的例子是对联系人信息进行CRUD操作。
javabean是把一些操作集合在一起写成一个java类,想要进行什么操作直接调用这个类里的方法就行。
咱们这里使用javabean的地方有两处,一个是链接数据库并进行CRUD操作,另一个把每条数据都写 成一个类。
对于CRUD应用,有一些大家默认的命名来表示不同的操作。
list.jsp。读取所有信息并显示到页面上,这个是CRUD中Read(读取)。
create.jsp。进入添加联系信息的页面,等待用户输入信息。
save.jsp。接收用户提交的信息,添加到数据库中。
这两步对应CRUD中的Create(创建)。
edit.jsp。进入修改联系信息的页面,等待用户修改信息。
update.jsp。接收用户提交的信息,修改数据库中对应的信息。
这两步对应CRUD中的Update(更新)。
remove.jsp。删除用户选择的信息。这步对应CRUD中的Delete(删除)。
下面我们将按照用户浏览的顺序对这些页面进行介绍。
5.2.?Read(读取)
启动服务器,访问http://localhost:8080/05-01/就会看到联系信息列表。
看一下05-01目录里边的7个jsp页面,其中6个页面都已经介绍了,只剩index.jsp。
index.jsp是tomcat默认的索引页面,在用户访问http://localhost:8080/05-01/的时候会自动执行index.jsp,但我们更希望用户能直接进入list.jsp页面看到所有的联系方式,所以在index.jsp里使用forward跳转到list.jsp。
%@ page contentType=text/html; charset=gb2312%
jsp:forward page=list.jsp/
第一行是我们曾经讲过的设置中文编码。第二行叫做jsp action(jsp动作),它的写法和html标签很相像,有了它们我们可以节省很多java代码。比如,这个jsp动作就与下面的代码功能相同。
%
request.getRequestDispatcher(list.jsp).forward(request, response);
%
从长度来看,jsp动作明显占有绝对优势,在单独使用forward的时候,建议大家优先考虑jsp:forward page=list.jsp/的写法。
现在来看list.jsp里的内容,我们是如何获得这些联系信息,并把这些联系信息显示到页面上。
为了便于操作,我们将所有对数据库的操作都封装到anni.ContactDao中,这就是所谓的javabean了。现在我们想要获得所有联系信息时,只要创建一个ContactDao的实例,然后调用contactDao.getAll()获得装满联系信息的List列表就好了。
在创建ContactDao实例的时候,我们使用了另一个jsp动作:jsp:useBean,它就写在list.jsp的第二行。
jsp:useBean class=anni.ContactDao id=contactDao scope=application/
看到这里,可能有朋友提问了,既然只是创建一个对象的实例,为什么不用new呢,那要比这样写的代码少许多,也更容易理解,为什么我们还要执意使用jsp:useBean?只是为了尝试新技术吗?
这里我提醒大家注意一下标签中的scope=application,application正是我们介绍过的四个作用域之一,既然有了这个属性就说明事情没有new这么简单了,实际上正因为scope的属性,这段jsp:usebean实际上等价于下面的代码。
%
anni.ContactDao contactDao = (anni.ContactDao) application.getAttribute(contactDao);
if (contactDao
您可能关注的文档
- 将xml转换成JavaBean后使用Hibernate存入数据库.doc
- Spring学习文档.docx
- 【词汇讲解】英语 Unit 5 Music.doc
- 2013新版英语七年级下单词表(Unit 1-6).doc
- 粉红猪小妹第一季海滩.docx
- marc有限元软件-几何特性.doc
- 八上单词 (中英文).doc
- 2008年淄博市中等学校招生考试英语试题.doc
- 八年级英语上册复习资料单词语法.docx
- BeanShell快速入门---Java应用.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)