Java Web程序设计基础教程(李绪成)第9章

上传人:w****i 文档编号:94518199 上传时间:2019-08-08 格式:PPT 页数:43 大小:746KB
返回 下载 相关 举报
Java Web程序设计基础教程(李绪成)第9章_第1页
第1页 / 共43页
Java Web程序设计基础教程(李绪成)第9章_第2页
第2页 / 共43页
Java Web程序设计基础教程(李绪成)第9章_第3页
第3页 / 共43页
Java Web程序设计基础教程(李绪成)第9章_第4页
第4页 / 共43页
Java Web程序设计基础教程(李绪成)第9章_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Java Web程序设计基础教程(李绪成)第9章》由会员分享,可在线阅读,更多相关《Java Web程序设计基础教程(李绪成)第9章(43页珍藏版)》请在金锄头文库上搜索。

1、,第9章 信 息 添 加,9.1 信息添加功能演示 9.2 更新UserBean中的代码 9.3 编写添加界面addUser.jsp 9.4 修改用户信息列表userlist.jsp 9.5 编写添加用户的Servlet 9.6 使用PrepraredStatement 小结 实训9:图书信息添加,9.1 信息添加功能演示 9.1.1 功能描述 用户进入主界面之后,点击“添加用户”,进入用户添加界面。在用户添加界面可以输入用户的各种信息,输入之后,需要对用户输入的基本信息进行客户端验证。如果验证通过,就提交给服务器,服务器首先判断要添加的这个用户是否存在。如果用户名已经存在,则提示用户,让用户

2、重新输入,重新返回添加界面;如果用户名不存在,则可以添加用户,然后提示用户添加成功。,9.1.2 功能演示 用户在主界面点击“添加用户”,跳转到添加用户界面,如图9.1所示。 用户在这个界面输入信息,然后提交。如果信息验证失败,则需要重新修改。如果验证成功,就可以提交了。添加成功之后转向userlist.jsp,并显示提示信息,如图9.2所示。,图9.1 添加用户界面,图9.2 添加成功的界面,9.1.3 思路分析 首先是信息的输入界面和权限验证,这在前面已经介绍过。输入信息之后,在客户端对信息进行验证,然后,信息会传递给服务器,服务器根据接收到的信息到数据库中查询当前用户是否已经存在,这个查

3、询的过程与前面的查询过程是相同的,只是查询的时候增加了查询条件。如果发现用户ID,使用MVC模式来设计该功能: (1) M,在添加过程中首先要查看用户是否已经存在,所以需要提供两个方法: 根据用户ID判断用户是否存在的方法。 添加用户的方法。,(2) V,该功能中与用户交互的有下面几个方面: 选择“添加用户”功能,该功能需要在主界面中添加一个超链接,在主界面中修改即可。 添加用户的界面,该界面与注册时的界面相同。 反馈界面,如果添加成功,就回到主界面,所以该界面也不用编写,但是需要显示添加成功的信息。,(3) C,控制器完成下面的功能: 获取输入的用户信息。 构建用户对象。 调用添加用户的方法

4、。 转向响应界面。,9.2 更新UserBean中的代码 9.2.1 动态SQL语句的编写 首先应该能够写出静态的SQL语句,并且使用静态SQL语句到数据库服务器上验证。如果静态的SQL语句没有问题,就把它改造成动态的SQL语句。 完成查询功能时,需要根据用户ID查询,假设使用userid保存用户ID信息。 第一步,先编写查询用户ID为123的用户的静态SQL语句,代码如下: “select * from usertable where userid=123 “ 这个SQL语句编写完了之后,应该先到数据库服务器上执行一下看看有没有问题。,第二步,把SQL语句中的常量123替换成变量userid

5、,替换后的代码如下: “select * from usertable where userid=userid “ 如果直接执行这个代码,也不会出错,但是查找不到结果,原因是系统把userid作为ID号了,而不是把userid表示的内容作为用户ID。所以需要把userid作为变量处理。 第三步,分割字符串中的常量和变量,常量使用双引号,而变量直接写出即可。修改后的代码如下: “select * from usertable where userid=“ userid “ “,第四步,把字符串连接起来,这时候我们使用StringBuffer来完成字符串的连接,代码如下: StringBuffer

6、 sql = new StringBuffer; sql.append(“select * from usertable where userid=“); sql.append(userid); sql.append(“); 在执行SQL语句的时候,使用toString()方法就可以把StringBuffer对象转换成String对象了。以前的很多书上都这样写: String sql = “select * from usertable where userid=“+userid+“;,从完成功能上来说这样写没有问题,但是会有效率问题。因为String类型的对象本身是一个常量,也就是说内容不能

7、改变。上面的过程实际上生成了很多String对象:首先组成查询语句的3部分,都是一个String对象;然后每一次连接都会创建一个新的String对象。而StringBuffer对象的内容可以改变。尤其是在需要链接的字符串比较多的时候,更应该选择使用StringBuffer,而不是使用多个加号连接字符串。,9.2.2 添加根据用户ID判断用户是否存在的方法 本过程与查询所有用户信息的过程基本相同,但是不需要对结果集进行处理,只需要判断结果集中是否有数据即可,可以通过下面的代码判断: rs.next() 如果返回值是true,说明查询到结果;如果返回值为false,说明没有查询到结果。 前面使用的

8、查询不包含变量,根据ID查询时查询语句中需要使用变量。,通过调用DBBean访问数据库,参考代码如下: public boolean hasExist(String id) boolean find=false; / 连接对象 Connection con=null; / 结果集对象 ResultSet rs=null; / 创建DBBean对象 DBBean db = new DBBean(); / 查询语句 StringBuffer sql = new StringBuffer(); sql.append(“select * from usertable where userid=“);

9、sql.append(userid);,sql.append(“); try / 获取连接 con = db.getConnection(); / 执行select语句,返回结果集对象 rs=db.executeQuery(sql.toString(); / 指向结果集的第一条 if(rs.next() find = true; else find = false;,catch(Exception e) finally db.close(); / 返回查找的结果 return find; ,9.2.3 添加add方法 添加用户时,需要动态构建SQL语句,构建的过程与前面的相同。执行SQL语句时

10、,使用的是Statement对象的executeUpdate方法,而不是executeQuery方法。 添加用户信息的方法的完整代码如下:,public void add() throws Exception / 连接对象 Connection con=null; / 创建DBBean对象 DBBean db = new DBBean(); / 添加语句,根据参数编写动态的添加语句 StringBuffer sql = new StringBuffer(); sql.append(“insert into usertable values(“); sql.append(userid); / 用

11、户ID sql.append(“,“);,sql.append(username); / 用户名 sql.append(“,“); sql.append(userpass); / 口令 sql.append(“,“); sql.append(type); / 用户类型 sql.append(“,”); sql.append(new java.sql.Date(birthday.getTime(); / 生日 sql.append(“,”); sql.append(degree); / 学历 sql.append(“,”); sql.append(local); / 地区 sql.append(

12、“,“);,sql.append(email); / email sql.append(“,”); sql.append(address); / 地址 sql.append(“,”); sql.append(comment); / 备注 sql.append(“)”); try / 获取连接 con = db.getConnection(); / 执行插入语句 db.executeUpdate(sql.toString();,catch(Exception e) System.out.println(e.toString(); finally db.close(); ,9.3 编写添加界面ad

13、dUser.jsp 该界面与注册界面完全一样,只是提交给添加用户的Servlet来完成即可。,9.4 修改用户信息列表userlist.jsp 在添加完用户信息之后,会跳转到userlist.jsp。在跳转到userlist.jsp时应该告诉用户操作的结果,需要显示提示信息。可以在窗口加载的时候显示提示信息,即在页面的内容显示之前弹出窗口,提示用户添加成功或者添加失败。可以使用JavaScript中提供的功能,在页面的前面添加下面的代码: function init() alert(“$info“); window.onload=init; ,init方法提示用户信息,它使用表达式得到信息。w

14、indow.onload=init表示当窗口加载完的时候,调用init方法。 但是因为并不是每次显示这个界面都会有提示信息,所以需要进行判断,如果没有提示信息则不用显示。可使用标签进行判断,即在其test属性中使用“empty info”判断“info”是否为空。修改后的代码如下:, function init() alert(“$info“); window.onload=init; ,9.5 编写添加用户的Servlet 要完成的主要功能如下: (1) 获取用户输入的信息。 (2) 使用获取的信息对JavaBean进行初始化。 (3) 调用hasExist方法判断用户是否已经存在: 如果用户已经存在,则在request中保存用户已经存在的信息,并转向添加界面。, 如果用户还不存在,则调用add方法添加用户: 如果添加成功,则在request中保存添加成功的信息,转向用户列表界面。 如果添加失败,则在request中保存添加失败的信息,转向添加界面。,参考代码如下: package bookstore.servlet; import javax.servlet.*; import javax.servlet.http.*; impor

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号