




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发生产实习报告姓名时华杰学号201301051918班级软件13-3项目名称易购网实习地点J13-132实习时间2016.07.04-2016.07.15实习成绩指导教师签字信息科学与工程学院 2016年 7 月 15 日 软件开发生产实习报告1. 实习目的1.1使学生全面了解软件项目实施的过程,理解软件企业对于程序员的基本素质和技术能力要求。1.2使学生掌握JSP及Servlet基本的JavaEE编程技术,能够综合运用SQL server数据库及MyEclipse开发环境进行小型项目的开发。1.3重点培养学生的团队精神和协作意识,提高其口头和书面的沟通能力。1.4使学生掌握快速学习新知识、新技术方法,培养良好的分析问题和解决问题的能力1.5重点提高学生的编程能力,使学生建立正确的编程理念,养成规范的编程习惯。2. 实习计划小组成员职务模块时华杰编码前台商品、新闻、公告、商品分类、最近浏览显示,后台商品分类管理、商品管理朱超编码详情显示、购物车、结算、后台新闻管理、订单管理杜坤钰编码登录、注册、注销、后台用户管理小组成员职务模块时华杰编码朱超编码杜坤钰编码注:写项目成员及分工3实习过程3.1 技术准备a. java编码规范b. java Servlet九大内置对象c. hibernate框架编程d. Git版本控制与代码托管.e. html脚本语言f. javaScript 脚本语言g. 数据缓存技术f. 数据库连接池g. jstl标签库3.2 项目实施 3.2.1 功能需求1. 前台功能模块1) 用户登录功能2) 用户注册功能3) 浏览商品4) 最近浏览5) 新闻公告列表和详情显示6) 购物车显示和结算以及加入购物车7) 商品分类和详情显示8) 热卖推荐商品显示9) 今日特价商品显示2. 后台功能模块1) 管理员登录2) 用户管理(修改、删除)3) 商品分类管理(增加、修改、删除)4) 商品详情管理(增加、修改、删除)5) 订单管理(修改、删除)6) 新闻管理(增加、修改、删除) 3.2.2 总体设计1. 文件目录1) easybuy.src:java代码a) cn.sdust.dao :数据库操作接口b) cn.sdust.model :数据持久化模型c) cn.sdust.servlet :逻辑控制器2) easybuy.web :前端界面代码a) component :前端界面组件b) css:前端界面布局c) manage :后天界面组件d) scripts:js脚本代码2. 用例图a) 总体用例图b) 订单管理用例图c) 商品管理用例图d) 新闻管理用例图e) 用户管理用例图f) 留言管理用例图g) 购物车管理用例图3. 数据库设计用户信息表easybuy_user字段名称说明eu_user_id用户IDeu_user_name用户名eu_password密码eu_sex性别eu_birthday出生日期eu_identity_code身份证号eu_emailemaileu_mobile手机eu_address地址eu_status类型1 普通用户 2 管理员新闻表easybuy_news字段名称说明en_id编号自动编号(标识列),从1开始,主键en_title标题en_content内容en_create_time录入日期留言表 easybuy_comment字段名称说明ec_id编号自动编号(标识列),从1开始,主键ec_reply回复ec_content内容ec_create_time创建时间ec_reply_time回复时间ec_nick_name留言用户昵称商品信息表 easybuy_product字段名称说明ep_id编号自动编号(标识列),从1开始,主键ep_name名字ep_description描述ep_price价格ep_stock库存epc_id分类IDepc_child_id二级分类IDep_file_name文件名商品分类表 easybuy_product_category字段名称说明epc_id编号自动编号(标识列),从1开始,主键epc_name名字epc_parent_id父分类订单表 easybuy_order字段名称说明eo_id编号自动编号(标识列),从1开始,主键eo_user_id用户IDeo_user_name用户名eo_user_address用户地址eo_create_time创建时间eo_cost金额eo_status状态1 下单 2 审核通过 3 配货 4 送货中 5收获并确认eo_type付款方式1 货到付款 2 网上支付订单明细表 easybuy_order_detail字段名称说明eod_id编号自动编号(标识列),从1开始,主键eo_id订单IDep_id商品IDeod_quantity数量eod_cost金额购物车表 easybuy_shopping字段名称说明esh_id编号自动编号(标识列),从1开始,主键esh_product_name商品名称esh_product_price商品价格esh_product_quantity商品数量ep_id商品编号eu_user_id用户编号 3.2.3 详细设计与编码1. 类图a) Servlet类图b) Model类图c) Dao类图2. 顺序图a) 普通用户顺序图b) 管理员顺序图3. 编码加载前台的公告和新闻数据的servlet:package cn.sdust.servlet;import cn.sdust.dao.UserDAO;import cn.sdust.dao.impl.MySQLDAO;import cn.sdust.model.EasybuyNews;import cn.sdust.model.EasybuyNotice;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.util.List;/* * Created by 杰 on 2016/7/6. */public class DownLoadDataServlet extends HttpServlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request,response); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8); response.setCharacterEncoding(utf-8); UserDAO userDAO = null; List noticeList = (List)request.getSession().getAttribute(noticeList); List newsList = (List)request.getSession().getAttribute(newsList); if(noticeList=null|newsList=null|noticeList.size()=0|newsList.size()=0) try userDAO = new MySQLDAO(); userDAO.open(); noticeList = userDAO.query(new EasybuyNotice(),0,7); newsList = userDAO.query(new EasybuyNews(),0,7); catch (Exception e) e.printStackTrace(); finally userDAO.close(); request.getSession().setAttribute(newsList,newsList); request.getSession().setAttribute(noticeList,noticeList); request.getRequestDispatcher(/ProductCategory).forward(request,response); 加载商品分类数据的servlet:package cn.sdust.servlet;import cn.sdust.dao.UserDAO;import cn.sdust.dao.impl.MySQLDAO;import cn.sdust.model.EasybuyNews;import cn.sdust.model.EasybuyNotice;import cn.sdust.model.EasybuyProductCategory;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.util.List;/* * Created by sdust on 2016/7/6. */public class ProductCategoryServlet extends HttpServlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request,response); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8); response.setCharacterEncoding(utf-8); UserDAO userDAO = null; List epc_list = (List)request.getSession().getAttribute(epc_list); if(epc_list=null|epc_list.size()=0) try userDAO = new MySQLDAO(); userDAO.open(); epc_list = userDAO.query(new EasybuyProductCategory(); catch (Exception e) e.printStackTrace(); finally userDAO.close(); request.getSession().setAttribute(epc_list,epc_list); request.getRequestDispatcher(/Product.download).forward(request,response); 加载前台商品数据 的servlet:package cn.sdust.servlet;import cn.sdust.dao.UserDAO;import cn.sdust.dao.impl.MySQLDAO;import cn.sdust.model.EasybuyProduct;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.util.ArrayList;import java.util.List;/* * Created by 杰 on 2016/7/7. */public class ProductServlet extends HttpServlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request,response); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8); response.setCharacterEncoding(utf-8); UserDAO userDAO = null; List ebpcList = (List)request.getSession().getAttribute(ebpcList); List bargainList = (List)request.getSession().getAttribute(bargainList); if(ebpcList=null|bargainList=null|ebpcList.size()=0|bargainList.size()=0) try userDAO = new MySQLDAO(); userDAO.open(); EasybuyProduct ebp = new EasybuyProduct(); List itemsList = new ArrayList(); itemsList.add(epPrice); List orderList = new ArrayList(); orderList.add(false); ebpcList = userDAO.query(ebp,0,12,orderList,itemsList); bargainList = (MySQLDAO)userDAO).bargainQuery(ebp,true,0,7); catch (Exception e) e.printStackTrace(); finally userDAO.close(); request.getSession().setAttribute(ebpcList,ebpcList); request.getSession().setAttribute(bargainList,bargainList); request.getRequestDispatcher(/index.jsp).forward(request,response); 控制分页显示的servlet:package cn.sdust.servlet;import cn.sdust.dao.UserDAO;import cn.sdust.dao.impl.MySQLDAO;import cn.sdust.model.EasybuyNews;import cn.sdust.model.EasybuyNotice;import cn.sdust.model.EasybuyProduct;import cn.sdust.model.EasybuyProductCategory;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.util.ArrayList;import java.util.List;/* * Created by 杰 on 2016/7/6. */public class HandlePageNumberServlet extends HttpServlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request,response); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8); response.setCharacterEncoding(utf-8); String action = request.getParameter(action); if(action!=null&product.equals(action) getProductPage(request,response); else if(action!=null&productCategory.equals(action) getProductCategoryPage(request,response); else getProductPage(request,response); public void getProductPage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException UserDAO userDAO = null; String epc_id = (String)request.getParameter(epc_id); /存储查询出的所有商品对象 List easybuyProduct_list = null; /数据库中商品总数 int productCount = 0; /当前页 int pageIndex = 1; /每一页显示的商品数 int pageSize = 4; String pageIndexStr = (String)request.getParameter(pageIndex); if(pageIndexStr!=null) pageIndex = Integer.parseInt(pageIndexStr); /当前页起始显示的商品 int startProductIndex = (pageIndex-1)*pageSize; /当前页最后显示的商品 int endProductIndex = startProductIndex+pageSize; request.setAttribute(pageIndex,pageIndex); try userDAO = new MySQLDAO(); userDAO.open(); easybuyProduct_list = userDAO.query(new EasybuyProduct(); catch (Exception e) e.printStackTrace(); finally List temp_list = (List)request.getSession().getAttribute(temp_list); if(temp_list=null|epc_id!=null) temp_list = new ArrayList(); for(EasybuyProduct epItem:easybuyProduct_list) if(epItem.getEpcChildId()=Integer.parseInt(epc_id) temp_list.add(epItem); productCount = temp_list.size(); request.getSession().setAttribute(temp_list,temp_list); userDAO.close(); int pageNumber = getPageNumber(productCount,pageSize); if(endProductIndexproductCount) endProductIndex = productCount; List easybuyProduct_show_list = new ArrayList(); for(int i=startProductIndex; iendProductIndex; i+) easybuyProduct_show_list.add(temp_list.get(i); request.setAttribute(easybuyProduct_show_list,easybuyProduct_show_list); request.setAttribute(pageNumber,pageNumber); request.getRequestDispatcher(/product-list.jsp).forward(request,response); public void getProductCategoryPage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException UserDAO userDAO = null; /存储查询出的所有商分类对象 List epc_list = (List)request.getSession().getAttribute(epc_list); /数据库中商品总数 int productCount = 0; /当前页 int pageIndex = 1; /每一页显示的商品数 int pageSize = 6; String pageIndexStr = (String)request.getParameter(pageIndex); if(pageIndexStr!=null) pageIndex = Integer.parseInt(pageIndexStr); /当前页起始显示的商品 int startProductIndex = (pageIndex-1)*pageSize; /当前页最后显示的商品 int endProductIndex = startProductIndex + pageSize; request.setAttribute(pageIndex,pageIndex); if(epc_list=null|epc_list.size()=0) try userDAO = new MySQLDAO(); userDAO.open(); epc_list = userDAO.query(new EasybuyProductCategory(); catch (Exception e) e.printStackTrace(); finally userDAO.close(); request.getSession().setAttribute(epc_list,epc_list); productCount = epc_list.size(); int pageNumber = getPageNumber(productCount,pageSize); if(endProductIndexproductCount) endProductIndex = productCount; List sortEpc_list = new ArrayList(); for(EasybuyProductCategory epcA:epc_list) if(epcA.getEpcParentId()=0) sortEpc_list.add(epcA); for(EasybuyProductCategory epcB:epc_list) if(epcB.getEpcParentId()=epcA.getEpcId() sortEpc_list.add(epcB); List productCategory_show_list = new ArrayList(); for(int i=startProductIndex; iendProductIndex; i+) productCategory_show_list.add(sortEpc_list.get(i); request.setAttribute(productCategory_show_list,productCategory_show_list); request.setAttribute(pageNumber,pageNumber); request.setAttribute(startProductIndex,startProductIndex); request.getRequestDispatcher(manage/productClass.jsp).forward(request,response); public int getPageNumber(int allRecord,int pageSize) return allRecord%pageSize = 0?(allRecord/pageSize):(allRecord/pageSize)+1); 后台商品管理中商品更新的servlet:package cn.sdust.servlet.backservlet;import cn.sdust.dao.UserDAO;import cn.sdust.dao.impl.MySQLDAO;import cn.sdust.model.EasybuyProduct;import cn.sdust.model.EasybuyProductCategory;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.Part;import java.io.IOException;import java.util.List;/* * Created by FYZBXX on 2016/7/12. */MultipartConfig(location = D:ideaideaProjectseasybuyoutartifactseasybuy_war_explodedimagesproduct)public class updateProductServlet extends HttpServlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8); response.setCharacterEncoding(utf-8); updateProduct(request, response); request.getRequestDispatcher(./manage-result.jsp).forward(request, response); return; public void updateProduct(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String productName = (String)request.getParameter(productName); String parentId = (String)request.getParameter(parentId); String productPrice = (String)request.getParameter(productPrice); String productStock = (String)request.getParameter(productStock); EasybuyProduct nowProduct = (EasybuyProduct)request.getSession().getAttribute(showEp); String fileName = upload(request,response); UserDAO userDAO = null; try userDAO = new MySQLDAO(); userDAO.open(); EasybuyProduct epSave = new EasybuyProduct(); epSave.setEpId(nowProduct.getEpId(); epSave.setEpName(productName); epSave.setEpFileName(images/product/+fileName); epSave.setEpPrice(Double.parseDouble(productPrice); epSave.setEpStock(Integer.parseInt(productStock); epSave.setEpBargain(0.0); userDAO.update(epSave); catch (Exception e) e.printStackTrace(); finally userDAO.close(); request.getRequestDispatcher(./manage-result.jsp).forward(request,response); private String upload(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException Part part = request.getPart(photo); String header = part.getHeader(Content-Disposition); String fileName = heade
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南省税务局招聘84人模拟试卷及一套完整答案详解
- 2025江苏苏州国家历史文化名城保护区、苏州市姑苏区区属国资集团副总裁招聘2人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025广东珠海市香洲区招聘卫生健康系统事业单位工作人员10人模拟试卷含答案详解
- 2025年渤海钻探工程有限公司春季招聘(20人)模拟试卷及参考答案详解
- 2025年甘肃医学院招聘事业编制专业技术人员13人(第一批)考前自测高频考点模拟试题及答案详解(历年真题)
- 2025年阜阳界首市“政录企用”人才引进8人模拟试卷及答案详解(名师系列)
- 2025年甘肃省张掖市(甘州区)博物馆讲解员招聘模拟试卷附答案详解(完整版)
- 2025昆明市盘龙区滇源街道中心卫生院第二次招聘(2人)模拟试卷含答案详解
- 2025广东珠海市香洲区招聘卫生健康系统事业单位人员10人有完整答案详解
- 2025甘肃兰州粮油集团有限公司招聘4人模拟试卷有答案详解
- 2025年下半年拜城县招聘警务辅助人员(260人)考试模拟试题及答案解析
- 宅基地争议申请书
- 2025年杭州上城区总工会公开招聘工会社会工作者9人笔试参考题库附答案解析
- 百师联盟2026届高三上学期9月调研考试数学试卷(含答案)
- 2025年互联网+特殊教育行业研究报告及未来发展趋势预测
- 神舟十号课件
- 汽车产品安全管理制度
- 企业风险防控制度汇编与实施指南
- 2025-2026学年冀人版(2024)小学科学二年级上册(全册)教学设计(附教材目录 )
- 2025-2030年中国农机行业市场深度调研及前景趋势与投资研究报告
- 安全生产法律法规、标准和其他要求清单
评论
0/150
提交评论