快速业务通道

用Eclipse、WTP和Derby构建Web应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
nse) throws ServletException, IOException  {   String user = request.getParameter("username");  String password = request.getParameter("password");  // Register.jsp set the parameter newuser  String newUser = request.getParameter("newuser");  String loggedOut = request.getParameter("loggedOut");

用Eclipse、WTP和Derby构建Web应用程序(15)

时间:2011-02-13 IBM Susan Cline

然后,它通过调用 DerbyDatabase 类的 getConnInstance() 方法连接到 Derby 数据库。getConnInstance 方法返回一个到数据库的单态 java.sql.Connection。

清单 10. 将 conn 变量设置为 DerbyDatabase 类的单态 Connection 对象

Connection conn = DerbyDatabase.getConnInstance();

下面一段代码确定用户是否为新用户,如果用户 ID 已存在,那么从数据库中选择用户 ID,否则,将用户 ID 添加到数据库。

清单 11. 在 LoginServlet 类中处理新用户

// the user is not new, so look up the username and password  // in the APP.USERS table  if (newUser == null || newUser.equals("")) {   sql = "select * from APP.USERS where username = ''" + user     + "'' and password = ''" + password + "''";  String[] loginResults = DerbyDatabase.runQuery(conn, sql);  // if the query was successful one row should be returned   if (loginResults.length == 1)  {   validUser = true;  } } // the user is new, insert the username and password into  // the APP.USERS table  else  {   sql = "insert into APP.USERS (username, password) values " + "(''"   + user + "'', ''" + password + "'')";  int numRows = DerbyDatabase.executeUpdate(conn, sql);  if (numRows == 1)  {   validUser = true;  } }

为验证用户 ID Susan 是否被添加到 APP.USERS 表中,打开 Derby 插件中的 SQL 工具 ij,查询 APP.USERS 表。

为了打开 ij,右键单击 LowFareAir 文件夹,然后选择 Apache Derby > ij (Interactive SQL)。 从 ij 中发出 connect 语句连接到 airlinesDB 数据库,并运行查询 select * from APP.USERS;,看看您输入到浏览器中的用户 ID 是否出现在这里。在这个例子中,用户 ID 是 Susan。

注意:对于在控制台视图中光标的位置,3.1 版的 Eclipse 与之前的版本相比有些不同。光标总是停留在一行的开始处。虽然看上去有些古怪,但是如果您开始在 ij 提示符下输入内容,光标又会回到适当的位置,也就是在 ij 中的 ''j'' 之后。

清单 12. 连接到 airlinesDB 数据库

connect ''jdbc:derby://localhost:1527/airlinesDB''; select * from APP.USERS;

ij 的输出如下所示。

图 13. 来自 APP.USERS 表的 ij 结果

Register.jsp 正确地传递这些值,而 LoginServlet.java 则将用户 ID 和密码正确地插入到表中。这样,用户 ID ''slc'' 和密码 ''slc'' 便已经在表中。

LoginServlet.java 中的其他代码处理不正确的用户 ID 和密码,然后,如果一切没问题,则将结果送到 Welcome.jsp。下图展示了 Origin 为 Albuquerque、Destination 为 Los Angeles 时的 Welcome.jsp。注意,用户 ID 被从 LoginServlet.java 传递到 Welcome.jsp,以便显示。

图 14. 成功登录之后的 Welcome.jsp

Welcome.jsp post 到

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号