您好,欢迎访问三七文档
实训项目夏汛pluto_xun@qq.com训练的技能点数据库设计面向对象程序设计分层开发技术使用JSP实现页面显示使用Servlet进行流程控制使用JavaBean实现业务封装使用数据源+JDBC访问数据库使用Oracle存储数据使用JavaScript进行页面交互使用Ajax增强用户体验任务描述前台功能首页页面用户注册用户登录新闻动态分类商品信息展示商品详情页面购物车留言簿演示各项功能效果任务描述后台功能用户信息管理商品信息管理•商品的管理•商品分类的管理订单管理留言簿管理新闻管理演示各项功能效果问题分析1:数据库设计7-1字段名称说明类型备注eu_user_id用户名varchar(10)非空,主键eu_user_name真实姓名varchar(20)非空eu_password密码varchar(20)非空eu_sex性别bit非空,0为女,1为男eu_birthday出生日期dateeu_identity_code身份证号varchar(60)eu_emailemailvarchar(80)eu_mobile手机varchar(11)eu_address地址varchar(200)非空eu_status类型int(2)非空1普通用户2管理员用户表(easybuy_user):存放用户基本信息问题分析1:数据库设计7-2字段名称说明类型备注en_id编号int(10)主键,自动编号en_title标题varchar(40)非空,不能重复en_content内容varchar(1000)非空en_create_time录入日期datetime非空,系统时间新闻表(easybuy_news):存放新闻信息问题分析1:数据库设计7-3字段名称说明类型备注ec_id编号int(10)主键,自动编号ec_reply针对留言的回复varchar(200)ec_content发表的留言内容varchar(200)非空ec_create_time创建时间datetime非空ec_reply_time回复时间datetimeec_nick_name留言用户昵称varchar(10)非空留言表(easybuy_comment):存放用户留言问题分析1:数据库设计7-4字段名称说明类型备注ep_id商品编号int(10)主键,自动编号ep_name商品名字varchar(20)非空ep_description商品描述varchar(100)ep_price商品价格decimal(10,2)非空ep_stock商品库存int(10)非空epc_id所属分类IDint(10)非空epc_child_id所属二级分类IDint(10)ep_file_name上传的文件名varchar(200)非空商品表(easybuy_product):存放商品基本信息问题分析1:数据库设计7-5字段名称说明类型备注epc_id编号int(10)主键,自动编号epc_name名字varchar(20)非空epc_parent_id父分类int(10)非空商品分类表(easybuy_product_category):存放商品的分类基本信息问题分析1:数据库设计7-6字段名称说明类型备注eo_id编号int(10)主键,自动编号eo_user_id用户IDint(10,0)非空eo_user_name用户名varchar(20)非空eo_user_address用户地址varchar(200)非空eo_create_time创建时间datetime非空eo_cost金额decimal(10,2)非空eo_status状态int(2)非空1下单2审核通过3配货4送货中5收货并确认eo_type付款方式int(2)非空1货到付款2网上支付订单表(easybuy_order):存放订单相关信息订单详情表(easybuy_order_detail):存放订单详细信息问题分析1:数据库设计7-7字段名称说明类型备注eod_id编号int(10,0)主键,自动编号eo_id订单IDint(10,0)非空ep_id商品IDint(10,0)非空eod_quantity数量int(10,0)非空eod_cost金额decimal(10,2)非空问题分析2:界面交互设计确认每个用例的页面列表及页面元素参考演示案例页面在演示案例界面基础上进行优化设计原则操作方便开发简单易于维护问题分析3:技术框架设计三层结构技术表示层•使用JSP实现页面显示•使用Servlet进行流程控制•使用JavaScript进行页面交互•使用Ajax增强用户体验业务逻辑层•使用JavaBean实现业务封装数据访问层•使用数据源+JDBC访问数据库•使用DAO模式使用实体类在各层传递数据使用MySQL存储数据难点分析1:理解业务如何实现购物车?如何实现页面整合?如何进行权限控制?如何实现分页显示?难点分析2:使用三层结构开发牢记步骤口诀搭建项目框架基于分层开发熟能生巧善于总结并分享常见错误要求在项目开发过程中记录遇到的问题并分享阶段划分第一次:阶段项目指导-软件文档需求讲解、需求分析第二次:集中编码第三次:集中编码第四次:集中编码第五次:集中编码第六次:软件生命周期-测试第七次:集中编码第八次:作业提交第一次集中编码:A任务任务说明搭建项目框架向教师提交本组各组员的分工、项目进度计划第一次集中编码:B任务任务说明编写数据表,每个表至少添加三条记录创建对数据表对应的实体类为top.jsp添加连接第一次集中编码:C任务任务说明新闻动态列表显示第一次集中编码参考代码或结果演示使用数据源访问数据库•在Tomcat中配置context.xml文件•配置web.xml文件•使用JNDI查找数据源•从数据源中获取连接Resourceauth=ContainerdriverClassName=oracle.jdbc.driver.OracleDrivermaxActive=50maxIdle=10maxWait=10000name=jdbc/easybuypassword=systype=javax.sql.DataSourceurl=jdbc:oracle:thin:@10.0.0.75:1521:ORCLusername=system/resource-refdescriptionnewsDataSource/descriptionres-ref-namejdbc/easybuy/res-ref-nameres-typejavax.sql.DataSource/res-typeres-authContainer/res-auth/resource-reftry{ctx=newInitialContext();dataSource=(DataSource)ctx.lookup(java:comp/env/jdbc/easybuy);}catch(NamingExceptione){e.printStackTrace();}dataSource.getConnection();第一次集中编码:D任务任务说明完成商品展示第一次集中编码:E任务任务说明完成首页中商品分类第一次集中编码:F任务任务说明查看新闻显示第一次集中编码关键代码与提示完成首页中商品分类•编写用于处理分类的CategoryServlet•编写业务逻辑层CategoryBiz接口及其实现类•编写数据访问层CategoryDao接口及其实现类•编写查询商品分类的方法,注意分类商品是否包含子分类publicListProductCategorygetProductCategories(LongparentId)throwsSQLException{ListProductCategoryrtn=newArrayListProductCategory();Stringsql=select*fromeasybuy_product_category;if(parentId!=null)sql=sql+whereepc_parent_id=+parentId;sql=sql+orderbyepc_parent_id,epc_id;//获取数据库连接//设置SQL语句参数//执行数据库查询操作//释放资源returnrtn;}第二次集中编码:A任务任务说明(使用Jquery实现)“我的易买”下拉菜单的自动显示与隐藏(登录后不再显示登录、注册,而是显示“我的易买”菜单)打开首页时弹出固定大小的广告页面窗口随滚动条上下移动的广告图片第二次集中编码:B任务任务说明(使用Jquery实现)对选购的商品实现删除和修改数量自动计算金额第二次集中编码:C任务任务说明对用户的输入进行验证并提示(前端JQuery验证,登录和注册页)第二次集中编码:D任务任务说明实现登录界面和注册界面的注册码(使用kaptcha组件)第三次集中编码:A任务任务说明实现用户登录,注册功能第三次集中编码:B任务任务说明实现前台首页商品展示功能实现商品详情展示功能实现近期商品浏览第三次集中编码:C任务任务说明实现留言的发布功能第三次集中编码关键代码与提示用户注册和登录功能•编写用于处理用户的Servlet•编写业务逻辑层UserBiz接口及其实现类•编写数据访问层UserDao接口及其实现类•编写保存用户信息的方法•用户注册页面中,用户名、真实姓名、密码、性别为必填项,使用Ajax对用户名进行验证•编写查询方法,根据用户名和密码实现登录用户查询//编写保存用户信息的DAO方法publicvoidsave(Useruser)throwsSQLException{Stringsql=insertintoeasybuy_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中保存的商品数量publicclassShoppingCartItem{privateProductproduct;privatelongquantity;privatefloatcost;…publiclonggetQuantity(){returnquantity;}publicvoidsetQuantity(longquantity){this.quantity=quantity;this.cost=product.getPrice()*quantity;}}publicclassShoppingCart{privateListShoppingCartItemitems=newArrayListShoppingCartItem();publicListShoppingCartItemgetItems(){returnitems;}publicvoidaddItem(Productproduct,longquantity){items.add(newShoppingCartItem(product,quantity));}publ
本文标题:实训项目
链接地址:https://www.777doc.com/doc-771808 .html