




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学实 验 报 告| 实验名称 基于J2EE架构的小型应用系统的设计与实现 课程名称 J2EE开发平及程序设计 | 专业班级: 学生姓名: 学 号: 成 绩:指导教师: 实验日期: 华 北 电 力 大 学 实 验 报 告一、 实验目的及要求学生在了解Java语言的基础上了解并掌握J2EE的构架及相关技术,重点掌握核心技术中最基本的Servlet、JSP、Javabean、JDBC,初步具有基于J2EE平台的软件开发能力。1.设计并实现简单的聊天室:1)要求使用JSP或者servlet,使用session控制2)至少3个页面3)使用application对象或者servletcontext保存聊天信息4)能进行用户登录验证5)能显示在线用户名及数量6)供多个用户同时聊天2.设计并实现小型应用系统,如网上书店 1)设计数据库表: 1)user 类 2)图书信息表book 2)要求使用JSP、Javabean和JDBC实现所设计系统a)数据库表的设计并录入数据b)提供用户登录及验证c)图书目录的列出、查询d)将所选中图书加入购物车、并显示购物车e)要求用户信息及图书信息必须保存在数据库中f)提供用户注册、图书管理(选作)二、所用仪器、设备PC机,基于window xp 或者windows server 平台,使用JDK+Netbeans+MySQL为开发工具三、实验原理(一)聊天室原理1.聊天室的体系结构图及设计思路所设计的是一个简单的聊天室,主要功能是用户的登陆,当前用户显示,和聊天记录显示,要用到session,application保存这些信息。2.聊天室的分层结构 上述结构图中,index是登陆界面,chartroom是聊天内容显示页面 表示层:chartroom.jsp 控制逻辑层:index.jsp3.聊天室页面跳转关系用户由index.jsp提交信息登陆,本程序没有设置用户信息检测,则页面通过login.jsp跳转到chartroom.jsp页面,当用户提交谈话内容时,application获取提交信息,点击提交后,又将获取的信息显示在chartroom.jsp中。二)网上书店实验原理1.网上书店体系结构图以及设计思路 网上书店的实现需要用户信息的管理,购物车的实现,以及对数据库的查询并显示于数据库的表的更改。共使用了三个java,写了Cart.java,OrderItem.java,Product.java来实现购物车的功能,另外使用dbbean.java来实现对数据库的连接以及其他相关操作,业务逻辑和显示层由jsp实现。2.网上书店的分层结构 表示层:index.jsp,home.jsp,cart.jsp,detail.jsp,register.jsp 控制逻辑层:verify.jsp,delete.jsp,buy.jsp 数据逻辑层:dbbean.java3.数据设计 在数据库bookshop中建立三张表user,book,orderinfo,各个表的结构如下所示:User表存入的数据如下所示Book表存入的数据如下Orderinfo表4.页面跳转关系用户由index.jsp输入登录,跳转至verify.jsp进行用户信息检测,检测通过则转home.jsp,当用户使用分类检索图书或者关键字查询图书时候时跳转到detail.jsp显示,当用户将图书加入购物车或点击购物车的时候则跳转至购物车cart.jsp显示。当用户按返回主页连接时跳转至home.jsp页面。四、实验方法与步骤(一)简单聊天室实现方法与步骤1.在工程中建立各个jsp文件2.在显示层页面设置好显示页面的各种属性如显示文本框的高度,提交按钮等。3.在逻辑层页面实现各个功能(1)在index.jsp页面进行显示层各个属性的穿件,并通过login.jsp跳转至聊天主界面chartroom.jsp 用户名 (2)在login.jsp和chartroom.jsp中进行用户用户信息以及用户谈话内容的绑定以及显示 Login.jsp % String username=new String(); username=request.getParameter(username).toString(); ArrayList users=(ArrayList)application.getAttribute(users); if(users=null) users=new ArrayList(); users.add(username); application.setAttribute(users, users); session.setAttribute(username, username); else boolean haslog=false; for(int i=0;i Chatroom.jsp 在线人列表 % int count=0; ArrayList users=(ArrayList)application.getAttribute(users); if(users!=null) for(int i=0; i 在线人数 说话 聊天记录 % if(words!=null) for(int i=0; i 4.运行程序测试各个功能的实现状况(二)网上书店的实现方法与步骤1.在工程中建立各个文件Buy.jsp,cart.jsp,delete.jsp,detail.jsp,home.jsp,index.jsp,vertify.jsp2.在显示层各个页面设置好各个控件属性3.编写javabean完成购物车和数据库的连接功能(1)在dbbean中实现数据库的链接,函数executeQuery返回resultset,函数executeUpdate执行sql语句,关键代码如下:try conn = DriverManager.getConnection(jdbc:mysql:/localhost/bookshop,root,083508-qgp); Statement stat=conn.createStatement(); /stat.executeQuery(sql); stat.executeUpdate(sql); (2)在product.java编写产品的三个属性 public class Product private int productID; private String productName; private double price; 以及相关的成员函数以便调用。(3)在OrderItem.java编写订购单包含的属性 public class OrderItem private int productID; private int quantity; private double price; 以及相关的成员函数以便调用。(4)在cart.java编写购物车包含类 引入哈希表进行信息的记录 import java.util.HashMap; 操作的关键代码如下 public Cart() if (items=null) /这两句非常重要,创建Cart的时候,要在构造函数中创建hash表变量items,否则会在carts.jsp的cart.additems()时报空对象错误! items=new HashMap(); /向购物车内添加所订的货物 public void addItems(Integer productID, OrderItem product) /是否存在,若存在则更改数量,不存在则添加到购物车hashmap中 if(getItems().containsKey(productID) /若该物品已经在购物车内,则更新数量 OrderItem _orderItem=getItems().get(productID); /从hash表中获得该产品id对应的产品订单项对象 _orderItem.setQuantity(product.getQuantity(); /重新按照新的购买数量设置订单项 getItems().put(productID, _orderItem); / 将更新过的订单项写回hash表 else /购物车内无此物品 getItems().put(productID, product); / 直接将新的订单项写回hash表 /更新购物车 public void updateCart(Integer productID, OrderItem product) getItems().put(productID, product); /计算总价格 public double getTotalPrice() double totalPrice=0.0; for(Iterator it=getItems().values().iterator();it.hasNext();) OrderItem _orderItem=(OrderItem)it.next(); totalPrice+=_orderItem.getPrice()*_orderItem.getQuantity(); return totalPrice; public HashMap getItems() return items; public void setItems(HashMap items) this.items = items; 3在逻辑层界面实现实验的要求(1)在verify页面引用通过 rset=conn1.executeQuery(select * from bookshop.user where username=+username+and password=+password+);在bookshop数据库的数据中搜索如果相关信息正确,则跳转到主页面,否则重置操作。 (2)在home.jsp获取书本相关信息并显示在html页面中 畅销书刊 序号 书名 作者 价格(元) 历史销量 a href=detail.jsp?id= 查询  查看购物车 (3)在delete.jsp实现购物车书籍的删除 (4)在buy.jsp实现购物车信息的提交,加入数据库中以确定购买 返回首页 (5)将获取的信息通过显示逻辑层显示出来 书籍详细信息如下 书名: 作者: 价格: ISBN号: 类型: 出版日期: 简介: a href=cart.jsp?id=加入购物车 a href=home.jsp?id=返回首页 4进行程序调试五、实验结果与数据处理(一) 简单聊天室登陆界面(二) 网上书店运行结果1.登陆界面2网上书店书刊显示 3查询过程点击查询得到如下显示: 4点击操作系统显示详细信息 5.放入购物车 点击确定购买出现 六、结论通过本次试验我在了解java
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粽子采购合同范本
- 安全施工个人合同范本
- 教辅类插图 合同范本
- 境外就业中介合同范本
- 酒水代加工合同范本
- 瓷砖装饰公司合同范本
- 单向工程个人合同范本
- 牛蛙养殖合作合同范本
- 工程买卖协议合同范本
- 踝关节不稳定合并软骨损伤护理查房
- 广东省汕头市金平区2021-2022学年八年级下学期期末英语卷
- 测绘项目投标技术文件范例
- 项目5 5.1 植物的光合作用(1)(课件)-《植物生产与环境》(高教版第4版)
- 《蒙牛乳业集团财务共享服务中心优化研究》
- 混凝土搅拌站实验室质量管理手册(正本)
- 消防应急灯安装工程安装方案
- 小儿便秘的中医护理
- 供货及时性保证措施
- 梨白粉病抗性鉴定技术规程
- 对2024年高考数学试题源于教材出处的分析暨对2025年复习备考的启示
- 医院污水处理运维服务投标方案(技术方案)
评论
0/150
提交评论