华北电力大学 华北电力大学 实 验 报 告 | | 实验名称 基于J2EE架构的网上书店设计与实现 课程名称 J2EE开发平及程序设计 | | 专业班级:计科0801 学生姓名:梁春明 学 号:200809010111 成 绩: 指导教师:陈晴 实验日期: 1、 实验目的及要求 运用J2EE的构架及相关技术,重点用核心技术中最基本的JSP、Javabean、JDBC,初步具有基于J2EE平台的软件开发能力。 要求: 1)设计数据库
: 1)user 类 2)图书信息表book 2)要求使用JSP、Javabean和JDBC实现所设计系统 a)数据库表的设计并录入数据 b)提供用户登录及验证 c)图书目录的列出、查询 d)将所选中图书加入购物车、并显示购物车 e)要求用户信息及图书信息必须保存在数据库中 二、所用仪器、设备 PC机,基于window xp 或者windows server 平台,使用JDK+Netbeans+MySQL为开发工具 三实验原理 1.功能模块 2.框架图(手工画) 3.设计思路 1)数据库设置三张表,分别是用来存放用户(user),图书列表(book),订单表(order)。 2) 用户验证,把登录进来的用户名在数据库中user 表中查找,查找不到返回错误,找到则进入书店首页。 3)在home.jsp 中实现图书的显示,把book列表全部显示出来。每本书实现书的详细介绍的跳转,在home.jsp 页面上可输入查找。 4)查找返回结果页面,把查找的信息传过来后,在Book 中按字段查找后把结果显示出来。 5)购物车用Javabean 实现,创建Cart 类,用来运作购物车,购物车里存储购买的书ID,再通过bookid访问数据库,把所有购物车中的书都详细列出来。对书的删增只要通过对车中存的ID进行更新。 6)两张表的设计(参考表) user 字段名 类型 是否空notnull 是否主键 备注 取值范围 userid 长整型 Not null 是 用户账号 pass
文本(6) 用户密码 rank 用户类型 0:普通用户1:管理员 Book 字段名 类型 是否空notnull 是否主键 备注 取值范围 bookid 长整型 Not null 是 书的id bookname 文本(50) 书名 author 文本(6) 作者 pubdate 日期 出版日期 男或女 ISBN 文本 书的ISBN号 type 文本 书的类型 profile 备注 描述 书的简要描述 price 数字 价格 Salename 数字 累计的销售量 4)Cart 类 5)页面跳转关系(手工画) 4、 实验方法与步骤 1.实现数据库连接 Connection conn=null; //String strConn; Statement sqlStmt=null; ResultSet sqlRst=null; try{ Class.forName("org.gjt.mm.mysql.Driver").newInstance(); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", "root","123"); sqlStmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); String sqlQury="select bookid,bookname,author,profile,price from book"; sqlRst=sqlStmt.executeQuery(sqlQury); %> 2.图书列表显示 while (sqlRst.next()) { %>
<%=sqlRst.getString("bookid")%> | <%=sqlRst.getString("bookname") %> | <%=sqlRst.getString("author") %> | <%=sqlRst.getString("profile") %> | <%=sqlRst.getString("price") %> |
<%}%> 3.书目查询 preparedStmt=conn.prepareStatement("select bookid,bookname,author,profile,price from book where bookname like ?"); request.setCharacterEncoding("gb2312"); String parm=request.getParameter("parm"); String nameparm=new String("%"+parm+"%"); preparedStmt.setString(1,nameparm); sqlRst=preparedStmt.executeQuery(); 4.购物代码 if(request.getParameter("sum")!=null) sum=request.getParameter("sum"); logid=(String)session.getAttribute("id"); logname=(String)session.getAttribute("name"); orderid=logid; if(logid.length()<8) { int num=8-logid.length(); for(int i=0;i
5、 实验结果与数据处理 1.书列表显示 2.搜索结果 返回结果 3.购物车 返回结果 六、结论 通过实验,对netbean和数据库进一步熟悉,学会了基本功能的实现。,但由于没有把数据库编程学习完,所以数据库中的信息是通过在数据库表中输入,然后再在程序中访问。但是程序有不足的地方。首先,界面很简单,没有用到图形界面,只是普通的表格显示。其次,在购物车的功能上还没完善,没有充分运用Cart 类中的函数,对购物车中的物品进行处理。今后要在现有知识的基础上多看相关的书籍,增强编程能力。最后感谢老师的悉心指导。