我们已经使用 jsp:useBean 创建了一个 contact 实例,现在我们通过
name=〃contact〃设置这个实例的数据,property 可以指定一个属性,比如
property=〃username〃,也可以使用星号(* )批量设置所有可以找到的属性,这
个 jsp 动作实际上与下面的代码等价。
contact。setUsername(request。getParameter(〃username〃));
contact。setSex(request。getParameter(〃sex〃));
contact。setEmail(request。getParameter(〃email〃));
contact。setQq(request。getParameter(〃qq〃));
contact。setDescn(request。getParameter(〃descn〃));
这些数据都是由 create。jsp 提交过来的,只要它们的名称与 contact 中的方法
对应(这次是 set 开头的方法了),jsp:setProperty 就可以自动为它们进行赋
值,转换的规则与 get 的方法名是类似的。
通过这一系列的 jsp 动作,我们得到的 contact 中已经设置好了用户刚刚填写的
数据,现在只要进行保存就好了。
contactDao。save(contact);
response。sendRedirect(〃list。jsp〃);
contactDao。save()也已经封装好了,直接调用便完成添加功能。操作完成后记
得要调用 sendRedirect,将页面重定向到 list。jsp,查看添加后的结果。
49 / 148
…………………………………………………………Page 50……………………………………………………………
5。4。 Update(更新)
点击列表右侧的“修改”,对这一行显示的联系信息进行修改。
虽然页面的布局与 create。jsp 基本相同,但为了预先显示需要修改的数据,我
们需要根据请求中的 id 值,去数据库中查找对应的联系信息,再显示到 jsp 中。
点击“修改”的时候,id 便附加到 url 后了。
修改
edit。jsp 中获得 id 的值,根据 id 从 contactDao 获得对应的联系信息 contact,
再将 contact 放到 pageContext 供后面的 el 表达式使用。
在 html 中显示信息的时候,直接使用 el 表达式,如果属性值不存在,el 也会
自动输出空字符串〃〃,这对我们来说都是非常便捷的。
50 / 148
…………………………………………………………Page 51……………………………………………………………
edit。jsp 中还有一点儿隐藏的玄机,表单中定义了一个名叫 id 的隐藏属性,这
样服务器才能知道我们需要修改那一条数据。
既然是隐藏的,我们便不能在页面上看到它,但在提交的时候它还会与其他数据
一起发送到服务器。
修改信息之后,点击提交发送请求。
update。jsp 中与 save。jsp 相似,唯一不同的是这次我们调用的是
contactDao。update()而不是 contactDao。save()。
contactDao。update(contact);
update()会根据 id 的值修改数据库中对应的数据,而不是添加一条新数据,这
从跳转后的 list。jsp 可以看出来。
51 / 148
…………………………………………………………Page 52……………………………………………………………
5。5。 Delete(删除)
点击列表右侧的“删除”,就会删除这条数据。
remove。jsp 与修改数据时一样,都需要传递一个 id 来指定要操作哪一条记录。
删除
remove。jsp 依然没有任何显示,仅仅使用 java 操作。
因为只需要 id 和 contactDao,remove。jsp 的代码十分单纯,首先从request
中获得 id,然后删除 id 对应的记录,最后页面重定向到 list。jsp。删除便成功
了。
5。6。 用 jdbc 操作数据库
虽然有人说 JDBC 是 Java Database Bridge Connection (java 数据库桥接)的
缩写,但 sun 公司一直没有承认这种解释。不过 jdbc 确实是一种桥接方式,所
有服务器厂商都为 jdbc 提供对应自己数据库的驱动,我们只要学会使用 jdbc
中的类和方法,就可以通过它操作任何一款数据库了。
这次我们使用的是一个名叫 hsqldb 的嵌入型数据库,它是使用 java 编写的,把
hsqldb…1。8。0。7。jar 放到 WEB…INF/lib/目录下就可以使用了。
52 / 148
…………………………………………………………Page 53……………………………………………………………
现在看我们是如何连接数据库的,hsqldb…1。8。0。7。jar 中已经为我们提供了
jdbc 驱动,为了方便调用我们将 jdbc 的配置封装在 anni。DbUtils 中。
1。 Class。forName(〃org。hsqldb。jdbcDriver〃);加载 jdbc 驱动。
Class。forName()是惯用写法,可以强制加载指定的类,
org。hsqldb。jdbcDriver 是 hsqldb 驱动的名称,只需要记忆即可。
2。 与数据库建立连接。
DriverManager。getConnection(〃jdbc:hsqldb:res:/hsqldb/contact〃;
〃sa〃; 〃〃);
三个参数分别是连接数据库使用的 url,登录用户名和密码。
url 以 jdbc:hsqldb:开头,表明它将使用 hsqldb 的驱动,后面的
res:/hsqldb/contact 是 hsqldb 的一种连接方式,它将去 classpath 下
的hsqldb 目录中读取名为contact 的数据库文件作为初始配置,在这里
classpath 就是指的 WEB…INF/classes/,你可以在
WEB…INF/classes/hsqldb/下看到两个数据库文件,contact。properties
和 contact。script。
3。 数据库连接十分消耗系统资源,一定要记得在使用完成后关闭,一旦忘记
关闭,资源很快就会耗尽,你会得到一连串无法连接数据库的错误。
anni。DbUtils 中我们提供了一个 close()方法来关闭连接。
完整的 anni。DbUtils 代码在 WEB…INF/src/DbUtils。java。
数据库 contact 的表结构写在WEB…INF/sql/import。sql 中。
小说推荐
- php程序设计简明教程(DOC格式)
- -Page 1-PHP 程序设计简明教程PHP 讲义 第 1 页 共 90 页-Page 2-目录序 4第一章 PHP 简介 6
- 最新章:第31章
- asp基础实用教程(DOC格式)
- 目 录一、关于ASP二、ASP的新功能三、创建ASP页四、使用脚本语言五、使用变量和常量六、使用集合七、ASP内建对象八、向浏览器发送内容九、包含文件十、访问数据库十一、调试ASP脚本十二、维护ASP应用程序的安全一、关于ASP Active Server Pages(ASP)是服务器端脚本编写环境
- 最新章:第17章
- asp基础入门篇(DOC格式)
- ASP入门与实例-IIS的安装与配置1、运行环境与软件要求Windows 2000 以上(不包括Windows XP Home版)IIS 4.0 以上Microsoft Access 2000Dreamweaver MX2、IIS的安装与配置a.安装IIS若操作系统中还未安装IIS服务器,可打开"控
- 最新章:第23章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- Word2003使用技巧大全(DOC格式)
- Word使用技巧(二)表格使用大全更新时间:2009-11-16 19:32:15 本文共阅读了257次 作者:xushezheng 文章来源:电教组字体大小:大中小一、快速插入表格 拖动“插入表格”能插入的最大表格跟该图标位置、显示分辨率有关。如使用800×600分辨率时最大为18行×28列 二、
- 最新章:第1章
- Excel word ppt office使用技巧大全(DOC格式)
- -Page 1-Excel_word_ppt_使用技巧大全(完全版)Excelwordppt使用技巧大全(2011新版本)I-Page 2-Excel_word_ppt_使用技巧大全(完全版
- 最新章:第338章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 最新章:第37章