资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实训项目,夏汛 pluto_,训练的技能点,数据库设计 面向对象程序设计 分层开发技术 使用JSP实现页面显示 使用Servlet进行流程控制 使用JavaBean实现业务封装 使用数据源+JDBC访问数据库 使用Oracle存储数据 使用JavaScript进行页面交互 使用Ajax增强用户体验,任务描述,前台功能 首页页面 用户注册 用户登录 新闻动态 分类商品信息展示 商品详情页面 购物车 留言簿,任务描述,后台功能 用户信息管理 商品信息管理 商品的管理 商品分类的管理 订单管理 留言簿管理 新闻管理,问题分析1:数据库设计7-1,用户表(easybuy_user):存放用户基本信息,问题分析1:数据库设计7-2,新闻表(easybuy_news):存放新闻信息,问题分析1:数据库设计7-3,留言表(easybuy_comment):存放用户留言,问题分析1:数据库设计7-4,商品表(easybuy_product):存放商品基本信息,问题分析1:数据库设计7-5,商品分类表(easybuy_product_category):存放商品的分类基本信息,问题分析1:数据库设计7-6,订单表(easybuy_order):存放订单相关信息,订单详情表(easybuy_order_detail):存放订单详细信息,问题分析1:数据库设计7-7,问题分析2:界面交互设计,确认每个用例的页面列表及页面元素 参考演示案例页面 在演示案例界面基础上进行优化 设计原则 操作方便 开发简单 易于维护,问题分析3:技术框架设计,三层结构技术 表示层 使用JSP实现页面显示 使用Servlet进行流程控制 使用JavaScript进行页面交互 使用Ajax增强用户体验 业务逻辑层 使用JavaBean实现业务封装 数据访问层 使用数据源+JDBC访问数据库 使用DAO模式 使用实体类在各层传递数据 使用MySQL存储数据,难点分析1:理解业务,如何实现购物车? 如何实现页面整合? 如何进行权限控制? 如何实现分页显示?,难点分析2:使用三层结构开发,牢记步骤口诀 搭建项目框架 基于分层开发 熟能生巧 善于总结并分享常见错误 要求在项目开发过程中记录遇到的问题并分享,阶段划分,第一次: 阶段项目指导-软件文档 需求讲解、需求分析 第二次:集中编码 第三次:集中编码 第四次:集中编码 第五次:集中编码 第六次:软件生命周期-测试 第七次:集中编码 第八次:作业提交,第一次集中编码:A任务,任务说明 搭建项目框架 向教师提交本组各组员的分工、项目进度计划,第一次集中编码:B任务,任务说明 编写数据表,每个表至少添加三条记录 创建对数据表对应的实体类 为top.jsp添加连接,第一次集中编码:C任务,任务说明 新闻动态列表显示,第一次集中编码,参考代码或结果演示 使用数据源访问数据库 在Tomcat中配置context.xml文件 配置web.xml文件 使用JNDI查找数据源 从数据源中获取连接, news DataSource jdbc/easybuy javax.sql.DataSource Container ,try ctx = new InitialContext(); dataSource = (DataSource) ctx.lookup(java:comp/env/jdbc/easybuy); catch (NamingException e) e.printStackTrace(); ,dataSource.getConnection();,第一次集中编码:D任务,任务说明 完成商品展示,第一次集中编码:E任务,任务说明 完成首页中商品分类,第一次集中编码:F任务,任务说明 查看新闻显示,第一次集中编码,关键代码与提示 完成首页中商品分类 编写用于处理分类的CategoryServlet 编写业务逻辑层CategoryBiz接口及其实现类 编写数据访问层CategoryDao接口及其实现类 编写查询商品分类的方法, 注意分类商品是否包含子分类,public List getProductCategories(Long parentId) throws SQLException List rtn = new ArrayList(); String sql = select * from easybuy_product_category ; if (parentId != null) sql = sql + where epc_parent_id = + parentId; sql = sql + order by epc_parent_id,epc_id; /获取数据库连接 /设置SQL语句参数 /执行数据库查询操作 /释放资源 return rtn; ,第二次集中编码:A任务,任务说明(使用Jquery实现) “我的易买”下拉菜单的自动显示与隐藏(登录后不再显示登录、注册,而是显示“我的易买”菜单) 打开首页时弹出固定大小的广告页面窗口 随滚动条上下移动的广告图片,第二次集中编码:B任务,任务说明(使用Jquery实现) 对选购的商品实现删除和修改数量 自动计算金额,第二次集中编码:C任务,任务说明 对用户的输入进行验证并提示(前端JQuery验证,登录和注册页),第二次集中编码:D任务,任务说明 实现登录界面和注册界面的注册码(使用kaptcha组件),第三次集中编码:A任务,任务说明 实现用户登录,注册功能,第三次集中编码:B任务,任务说明 实现前台首页商品展示功能 实现商品详情展示功能 实现近期商品浏览,第三次集中编码:C任务,任务说明 实现留言的发布功能,第三次集中编码,关键代码与提示 用户注册和登录功能 编写用于处理用户的Servlet 编写业务逻辑层UserBiz接口及其实现类 编写数据访问层UserDao接口及其实现类 编写保存用户信息的方法 用户注册页面中,用户名、真实姓名、密码、性别为必填项,使用Ajax对用户名进行验证 编写查询方法,根据用户名和密码实现登录用户查询,/编写保存用户信息的DAO方法 public void save(User user) throws SQLException String sql = insert into easybuy_user(eu_user_id, eu_user_name, + eu_password,eu_sex, eu_birthday,eu_identity_code,eu_email, + eu_mobile, eu_address,eu_status) values(?,?,?,?,?,?,?,?,?,?); /获取数据库连接 /设置SQL语句参数 /执行数据库查询操作 /释放资源 ,第三次集中编码:D任务,任务说明 实现购物车功能,第三次集中编码:E任务,任务说明 按照分类显示商品信息,第三次集中编码:F任务,任务说明 后台新闻管理中的新增新闻功能,第三次集中编码,关键代码与提示 购物车功能 创建购物车项目实体类 创建购物车实体类 将所购商品信息在session中进行保存 在购物车中修改商品数量时,要重新计算并修改session中保存的商品数量,public class ShoppingCartItem private Product product; private long quantity; private float cost; public long getQuantity() return quantity; public void setQuantity(long quantity) this.quantity = quantity; this.cost = product.getPrice() * quantity; ,public class ShoppingCart private List items = new ArrayList(); public List getItems() return items; public void addItem(Product product, long quantity) items.add(new ShoppingCartItem(product, quantity); public void removeItem(int index) items.remove(index); public void modifyQuantity(int index, long quantity) items.get(index).setQuantity(quantity); public float getTotalCost() ,public class CartServlet extends HttpServlet protected void doPost() String actionIndicator = req.getParameter(action); if (add.endsWith(actionIndicator) result = add(req); else if private String add(HttpServletRequest request) String id = request.getParameter(entityId); Product product = productService.findById(id); ShoppingCart cart = (ShoppingCart) session.getAttribute(cart); if (cart = null) cart = new ShoppingCart(); session.setAttribute(cart, cart); cart.addItem(product, quantity); return addSuccess; ,第四次集中编码:A任务,任务说明 完善购物车功能 完成订单功能,order表,order_detail表,第四次集中编码:B任务,任务说明 前台页面的整合 测试并进行Bug的调整,第四次集中编码:C任务,任务说明 完成后台新闻管理的修改、删除功能,第四次集中编码,关键代码与提示 前台页面的整合 使用div进行页面布局 使用标签包含其他JSP文件,top.jsp,left_bar.jsp,div,div,div, 商品列表 新闻动态 Copyright 2010 北大青鸟 All Rights Reserved. ,第四次集中编码:D任务,任务说明 修改和删除后台商品分类信息,第四次集中编码:E任务,任务说明 修改和删除后台用户信息,第四次集中编码:F任务,任务说明 修改和删除后台订单,第五次集中编码:A任务,任务说明 增加商品分类信息 增加、修改和删除商品信息,第五次集中编码:B任务,任务说明 增加用户信息 修改、删除留言,第五次集中编码:C任务,任务说明 实现订单的搜索功能 实现注销功能,第五次集中编码2-1,任务说明 组长A 为页面加入权限控制 进行最终的项目整合 修改Bug 组员B 测试项目 修改Bug 组员C 测试项目 记录Bug,第五次集中编码2-2,关键代码与提示 为页面加入权限控制 在top.jsp中实现 设置登录标志变量Login,成功登录后,赋值为“true” 在top.jsp中添加登录判断代码,如果没有登录,重定向到登陆页面,如果已登录,则可以访问当前页面 通过过滤器实现 同样设置登录标志变量Login 在过滤器中添加类似登录判断代码,可扩展功能,设计密码找回功能 检查用户界面是否友好 订单搜索时,使用Ajax实现用户名自动补全功能 制作我的订单,进行查询订单明细
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号