欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验二 网上书店.docx

    • 资源ID:5090285       资源大小:351.65KB        全文页数:42页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验二 网上书店.docx

    1、实验二 网上书店实验二 网上书店1 实验目的1)进一步理解多层应用、应用服务器、JSP程序设计的。2)通过一个本实验,掌握较复杂Web项目开发方法。2 工具/准备工作需要准备一台带有浏览器,安装完成Tomcat, Eclipse的计算机。3 实验内容与步骤在本实验中我们使用JSP和Java Bean来构建一个网上书店。本实验介绍的例子可以分成两大部分,第一部分是普通程序,用于客户在网上选购图书,第二部分是管理程序,用于在服务器端处理客户的定单。客户端程序由以下几个部分构成:default.jsp:会员登录界面(首页);checklogon.jsp:检测登录代码和密码是否一致,根据由JavaBe

    2、an返回的结果显示不同的信息。BuyerBean:会员的合法性检验所用的Bean;booklist.jsp:给登录会员显示当前书店中可供选择的图书;addcart.jsp:将所选的图书加入购物车;shoppingcart.jsp:查看购物车的内容;本例的数据库采用Access(.MDB数据库),对数据库的访问采用便于理解的JDBC-ODBC方式,在使用本例前先在本地数据库建立一个ODBC数据源:bookstore。设置步骤如下:(1)在开始-设置-控制面版(Win98、NT4.0)中选取“数据源(ODBC)”;在Win 2000 Professional和Server中分别位于“开始-设置-控

    3、制面版-管理工具”和“开始-程序-管理工具”下。(2)启动“数据源(ODBC)”配置程序,界面如图1所示。图1 ODBC数据源管理界面(3)在图1中“系统DSN”选项下单击“添加”按钮,来添加一个系统的数据源(DSN),则出现如图2所示数据源驱动程序选择界面:图2 数据源驱动程序选择界面(4)在图2中选择“Microsoft Access Driver (*.mdb)”单击“完成”加载Access数据库的驱动,则出现如图3所示数据库ODBC安装界面:图3 数据库ODBC安装界面(5)在图3中单击“选择(S)”按钮,启动一个类似资源管理器的界面来选择数据库,如图4所示,在图4所示的界面中选择bo

    4、okstore.mdb。图4 数据库选择界面3.1 会员登录做一个网上书店,在顾客开始购书之前,必须要记录用户的一些信息以便用户在不同的分类、不同的页面购书时,最后能够去收款台统一结帐,而且网上书店同时有许多人在选购图书,也要求对不同的顾客进行区分,我们可以要求顾客在购书之前进行注册成为会员,以后只用会员代码和密码即可登录。为了便于说明现在的电子商务网站,由JSP做页面表现,由Java Bean做应用逻辑的结构,在本例中将会员登录程序分成两大部分:一、Java Bean用于对数据库的操作,验证用户名和密码是否正确;二、JSP页面部分,用于供用户会员代码和密码以及显示验证结果。1) 会员登录Ja

    5、va Bean我们网上书店中的会员信息的库结构如图5所示:图5 会员信息库其中memberID 是主键,用于区分不同的会员,新会员注册时只能使用没有被使用的用户代码。在验证时我们只要使用验证用户的memberID和其pwd是否一致即可判断该用户是否合法,如果合法则其登录次数加1。下面是用户验证部分的Java Bean的代码清单1 BuyerBean.Java/* *BuyerBean.Java 1.10.2001 *Copyright 2000, 2001 by cuug llp.*本Bean中有两个set方法和两个get 方法:*setMemberID() 对BuyerBean中的membe

    6、rID属性进行赋值;*setPwd()对BuyerBean中的 pwd 属性进行赋值; *getLogontimes() 取该会员登录的次数*getMenberName()获得该会员的真实姓名,用于显示欢迎信息。 *main()方法用于将BEAN作为一个 Application进行测试时使用,正式发布时可以删除。 */package cuug;import Java.sql.*;public class BuyerBean private String memberID = null ; /会员ID private String memberName = null; /会员姓名 private

    7、 String pwd = null; /密码 private int logontimes = -1; /登录的次数 private static String strDBDriver = “sun.jdbc.odbc.JdbcOdbcDriver”; /JDBC驱动 private static String strDBUrl = “jdbc:odbc:bookstore”; /数据源 , private Connection conn =null; /连接 private ResultSet rs = null; /结果集 public BuyerBean () /加载JDBC-ODBC

    8、驱动 try Class.forName(strDBDriver ); /捕获异常 catch(Java.lang.ClassNotFoundException e) System.err.println(“BuyerBean():” + e.getMessage(); /获得登录次数,登录的会员的名字也在该方法调用时获得 public int getLogontimes() String strSql = null; try conn = DriverManager.getConnection(strDBUrl); Statement stmt = conn.createStatement(

    9、); strSql = “Select logonTimes,membername from buyerInfo where memberID = ” + memberID + “ and pwd =” + pwd + “”; rs = stmt.executeQuery(strSql); while (rs.next() / 登录的次数 logontimes = rs.getInt(“logonTimes”); /会员姓名 memberName = rs.getString(“membername”); rs.close(); /如果是合法会员则将其登录次数加1 if (logontimes

    10、 != -1 ) strSql = “Update buyerInfo set logonTimes = logonTimes +1 where memberID = ” + memberID + “”; stmt.executeUpdate(strSql); stmt.close(); conn.close(); /捕获异常 catch(SQLException e) System.err.println(“BuyerBean.getLogontimes():” + e.getMessage(); return logontimes ; /设置memberID属性; public void

    11、setMemberID(String ID) this.memberID = ID; /设置pwd 属性 public void setPwd(String password) this.pwd = password; /获得该会员的真实姓名,必须在取该会员登录的次数之后才能被赋予正确的值 public String getMemberName() return memberName; /测试Bean中的各个方法是否能够正常工作 public static void main(String args) BuyerBean buyer = new BuyerBean(); buyer.setMe

    12、mberID(“abcd”); buyer.setPwd(“1234”); System.out.println(buyer.getLogontimes(); System.out.println(buyer.getMemberName(); 在BuyerBean中用了package cuug; 在发布到WEB SERVER时,可以用JAR(JDK中带的打包工具)把编译后的BuyerBean.class 打包成JAR文件在服务器的环境变量classpath中给予指定,或者在服务器classpath环境变量指定的目录下建一个cuug文件夹,把BuyerBean.class放到cuug目录下。2)

    13、 会员登录htm与JSP会员登录要由两个部分来完成,第一个页面用于会员输入其ID和密码,当然首页还可以加一些广告等的其它信息,在本例中略过。清单2 default.htm! Copyright 1999 cuug,liu.CUUG ON LINE BOOK STORE MEMBER LOGINCUUG 网上书店会员登录页  请输入会员代号和密码: 会员代码: 密    码: 在本例中提供了一个文本框供用户输入会员代号和登录密码,其运行结果如图6所示,当会员输入其代码和密码后调用checklogon.jsp 来验证该网络用户是否是合法会

    14、员。图6 会员登录页在checklogon.jsp 中接收从default.htm中由用户所填的会员代码和密码,把它传给BuyerBean,由BuyerBean判断该用户的会员代码和密码的正确性,若正确显示欢迎信息;若不正确,则提供一个重新登录的链接。Checklogon.jsp的源代码如下:清单3 checklogon.jspCUUG ON LINE BOOK STORE MEMBER LOGINCUUG 网上书店 0) session.putValue(memberID,memberID);% 欢迎你第次来到CUUG网上书店 进入书店 对不起,你的用户名和密码不一致 重新登录 登录正确时的

    15、结果如图7所示,错误时的结果如图8所示。图7 用户登录正确(会员abcd的真实姓名是cuug001)图8 用户登录错误13.2 选书会员登录之后,合法的用户将可以看到本书店中可供选择的图书,并且将他感兴趣的书放入“购物车”,在去“收银台”结帐之前,该用户可以放弃购买其购物车中的任何一本书。在此处我们用BookBean来获取图书的信息,在Booklist.jsp中显示这些书。在会员选书部分,我们仍用Java Bean来操作数据库,用jsp来做页面表现。1) 选书Java Bean图书信息的表结构如图9所示,为了便于说明,在本例中price也设置成了String型,在实际应用中应该设置成货币或浮点

    16、型:图9 图书信息的表结构其中,bookISBN是主键,区分不同的图书。Java Bean要根据不同的图书的bookISBN来获得其相应的书名、作者、出版社、价格、简介等信息。同时Java Bean还要有列出书店中所有图书的信息的功能。清单4 BookBean.Java/* *BuyerBean.Java 1.10.2001 *Copyright 2000, 2001 by cuug ,llp.*本Bean中的各个方法的功能介绍如下:*setBookISBN():设置图书的编号,同时根据编号更新相应的书名、作者、出版社、价格*和简介*getBookList() 取得书库中全部书的书名、出版社、

    17、价格、作者等信息;*getBookISBN() 取得当前图书的编号 ; *getBookName()取得当前图书的书名; *getBookAuthor()取得当前图书的作者; *getPublisher()取得当前图书的出版社信息; *getPrice()取得当前图书的价格;* getIntroduce()取得当前图书的简介信息。 *main()方法用于将BEAN作为一个 Application进行测试时使用,正式发布时可以删除。 */package cuug;import Java.sql.*;public class BookBean private String bookISBN = n

    18、ull; /图书编号 private String bookName = null; /书名 private String bookAuthor = null; /作者 private String publisher = null; /出版社 private String introduce = null; /简介 private String price = null; /价格 private static String strDBDriver = sun.jdbc.odbc.JdbcOdbcDriver; private static String strDBUrl = jdbc:odb

    19、c:bookstore; private Connection conn =null; private ResultSet rs = null; public BookBean() /加载驱动 try Class.forName(strDBDriver ); catch(Java.lang.ClassNotFoundException e) System.err.println(BookBean (): + e.getMessage(); /取当前书库中全部图书信息 public ResultSet getBookList() String strSql = null; try /建立与数据库

    20、的连接 conn = DriverManager.getConnection(strDBUrl); Statement stmt = conn.createStatement(); strSql = Select bookISBN,bookName,bookAuthor,publisher,price from bookInfo ; rs = stmt.executeQuery(strSql); /捕获异常 catch(SQLException e) System.err.println(BookBean.getBookList(): + e.getMessage(); return rs ;

    21、 /根据图书的编号给图书的其他信息赋值 private void getBookInfo(String ISBN) String strSql = null; bookName = null; bookAuthor = null; publisher = null; introduce = null; price = null; try /建立和数据库的连接 conn = DriverManager.getConnection(strDBUrl); Statement stmt = conn.createStatement(); strSql = Select * from bookInfo

    22、where bookISBN = + ISBN + ; rs = stmt.executeQuery(strSql); while (rs.next() bookName = rs.getString(bookName); bookAuthor = rs.getString(bookAuthor); publisher = rs.getString(publisher); introduce = rs.getString(introduce); price = rs.getString(price); /捕获异常 catch(SQLException e) System.err.println

    23、(BookBean.getBookList(): + e.getMessage(); /给图书的编号赋值,同时调用函数给图书的其他信息赋值 public void setBookISBN (String ISBN) this.bookISBN = ISBN; getBookInfo(bookISBN); /取图书编号 public String getBookISBN () return bookISBN ; /取书名 public String getBookName() return bookName ; /取作者信息 public String getBookAuthor() retur

    24、n bookAuthor; /取出版社信息 public String getPublisher() return publisher; /取图书简介 public String getIntroduce() return introduce ; /取图书价格 public String getPrice() return price; /将Bean作为一个application进行测试用 public static void main(String args) BookBean book = new BookBean (); book.setBookISBN(7-5053-5316-4);

    25、System.out.println(book.getBookName(); System.out.println(book.getBookAuthor(); System.out.println(book.getPublisher(); System.out.println(book.getIntroduce(); System.out.println(book.getPrice(); try ResultSet tmpRS = book.getBookList(); while (tmpRS.next() System.out.println(tmpRS.getString(bookname); tmpRS.close(); /捕获异常 catch(Exception e) System.err.println(main() + e.getMessage(); 2) 选书JSP会员正确登录之后,即可进入书店进行选书,我们已经在checklogon.jsp中将会员的代码(memberID)放入系统的sessi


    注意事项

    本文(实验二 网上书店.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开