数据库课程设计-EasyMall电子商城.doc_第1页
数据库课程设计-EasyMall电子商城.doc_第2页
数据库课程设计-EasyMall电子商城.doc_第3页
数据库课程设计-EasyMall电子商城.doc_第4页
数据库课程设计-EasyMall电子商城.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 数据库课程设计 选题名称: EasyMall电子商城 姓 名: 学 号: 专业班级: 系 (院): 计算机工程学院 设计时间: 设计地点: 指导教师评语: 签名: 年 月 日数据库课程设计 第 24 页,共 24 页1课程设计目的熟悉掌握MySQL,MyEclipse软件的应用,巩固数据库中所学的知识,结合J2EE内容,将数据库中的数据与myEclipse相连接。初步了解有关大数据的知识,利用所学知识来设计一个easymall商城,实现商城的登录注册,加入购物车,查看商品信息等功能。通过实践来经历一个数据库系统开发的全过程并受到一次综合的训练,以便能较全面的理解、掌握和综合运用所学的知识去分析、解决实际问题。2课程设计任务与要求: 课程设计任务: 完成easymall商城系统的分析设计工作,并选用适当的开发工具完成系统的开发。 课程设计要求: 实现 商城的主页面 商品详细信息展示 商品加入购物车 商品订单查询 商品的查询 用户的注册、登录、注销 3 课程设计说明书(1) 流程图我的购物车我的订单注销全部商品登录 主页面商品详情加入购物车登录注册 (2)在mysql中建立表:(主键id) 商品表products 用来存储商品的名字:name商品的价格:price商品的类型:category商品的编号:pumn商品的图片地址:imgurl商品的描述:description 订单表orders (主键id) 用来存储 订单的价格:money 收货人地址:receiverinfo 付款状态:paystate 付款时间:ordertime 订单用户id:user_id 用户表user(主键id) 用来存储用户的姓名:username用户的密码:password用户的昵称:nickname用户的昵称:nickname用户的邮件:email用户的身份:role 订单项目表:orderitem(主键order_id,product_id) 各个表之间的关系(3)在myEclipse中编写代码,实现网页功能 项目目录 java类 cn.tedu.dao包 ProfDao.java查询符合条件的商品集合 packagecn.tedu.dao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.List;importorg.apache.taglibs.standard.tag.rt.core.ForEachTag;importcn.tedu.utils.JdbcUtil;importcn.tedu.vo.Product;publicclassProdDaoConnectionconn=null;PreparedStatementpstat=null;ResultSetrs=null;/*根据查询条件,查询符合条件的商品集合*paramname商品名称*paramcategory:商品分类*paramminprice:价格区间的最小值*parammaxprice:价格区间的最大值*return查询符合条件的商品集合List*/publicListfindProdsByKey(Stringname,Stringcategory,doubleminprice,doublemaxprice)/1、创建一个商品的集合对象Listlist=newArrayList();/3、定义三个全局变量(数据库连接的)/4、编写sql语句Stringsql=select*fromproductswherenamelike?andcategorylike?andprice=?andprice0;catch(SQLExceptione)e.printStackTrace();finallyJdbcUtil.close(conn,pstat,rs);returnfalse;/*检查用户名是否存在*paramusername用户名*return存在则返回true,反之返回false*/publicbooleanunIsHave(Stringusername)/1、编写sql语句Stringsql=select*fromuserwhereusername=?;/2获取数据库连接conn=JdbcUtil.getConn();try/3、预编译sql语句pstat=conn.prepareStatement(sql);/4、为占位符赋值pstat.setString(1,username);/5、执行查询操作,返回结果集对象rs=pstat.executeQuery();/6、返回结果returnrs.next();catch(SQLExceptione)e.printStackTrace();finallyJdbcUtil.close(conn,pstat,rs);returnfalse; cn.tedu.servlet包 CartAddSerlet.java 加入购物车packagecn.tedu.servlet;importjava.io.IOException;importjava.util.HashMap;importjava.util.Map;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.tedu.dao.ProdDao;importcn.tedu.vo.Product;publicclassCartAddServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/1、接收商品idStringid=request.getParameter(id);/2、从session中获取cartObjectobj=request.getSession().getAttribute(cart);Mapcart=null;if(obj=null)/说明session中没有购物车的信息cart=newHashMap();/将cart保存到session中request.getSession().setAttribute(cart,cart);else/说明session中有购物车的信息cart=(Map)obj;ProdDaoprodDao=newProdDao();Productprod=prodDao.findProdById(id);/如果当前商品已经购买过,则在原购买数量的基础上加1if(cart.containsKey(prod)cart.put(prod,cart.get(prod)+1);else/如果当前商品没有购买过,则向cart集合对象添加一个元素,购买数量为1cart.put(prod,1);/跳转到cart.jspresponse.sendRedirect(request.getContextPath()+/cart.jsp);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException LoginSerlet.java 登录页面 packagecn.tedu.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.tedu.dao.UserDao;importcn.tedu.vo.User;publicclassLoginServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionpublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/1、接收form表单提交过来的参数Stringusername=request.getParameter(username);Stringpassword=request.getParameter(password);/2、验证用户名是否为空if(username=null|.equals(username)/提示信息request.setAttribute(msg,用户名不能为空!);/转发到登陆页面request.getRequestDispatcher(/login.jsp).forward(request,response);return;/3、验证密码不能为空if(password=null|.equals(password)/提示信息request.setAttribute(msg,密码不能为空);/转发到登陆页面request.getRequestDispatcher(/login.jsp).forward(request,response);return;/4、调用UserDao类的login方法/4.1声明并实例化UserDao类的对象UserDaouserDao=newUserDao();/4.2调用login方法Useruser=userDao.login(username,password);/5、判断是否登陆成功if(user!=null)/登陆成功request.getSession().setAttribute(loginUser,user);request.getRequestDispatcher(/index.jsp).forward(request,response);else/登陆失败request.setAttribute(msg,用户名或密码错误);request.getRequestDispatcher(/login.jsp).forward(request,response); LoginoutServlet.java 注销packagecn.tedu.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.tedu.dao.UserDao;importcn.tedu.vo.User;publicclassLoginServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionpublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/1、接收form表单提交过来的参数Stringusername=request.getParameter(username);Stringpassword=request.getParameter(password);/2、验证用户名是否为空if(username=null|.equals(username)/提示信息request.setAttribute(msg,用户名不能为空!);/转发到登陆页面request.getRequestDispatcher(/login.jsp).forward(request,response);return;/3、验证密码不能为空if(password=null|.equals(password)/提示信息request.setAttribute(msg,密码不能为空);/转发到登陆页面request.getRequestDispatcher(/login.jsp).forward(request,response);return;/4、调用UserDao类的login方法/4.1声明并实例化UserDao类的对象UserDaouserDao=newUserDao();/4.2调用login方法Useruser=userDao.login(username,password);/5、判断是否登陆成功if(user!=null)/登陆成功request.getSession().setAttribute(loginUser,user);request.getRequestDispatcher(/index.jsp).forward(request,response);else/登陆失败request.setAttribute(msg,用户名或密码错误);request.getRequestDispatcher(/login.jsp).forward(request,response);packagecn.tedu.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassLogoutServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/注销用户/从session中删除loginUser对象if(request.getSession(false)!=null)/从session中删除loginUser信息request.getSession().removeAttribute(loginUser);/把session销毁request.getSession().invalidate();/调整到首页response.sendRedirect(request.getContextPath()+/index.jsp);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException ProdimgServlet.java 显示商品图片packagecn.tedu.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassLogoutServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/注销用户/从session中删除loginUser对象if(request.getSession(false)!=null)/从session中删除loginUser信息request.getSession().removeAttribute(loginUser);/把session销毁request.getSession().invalidate();/调整到首页response.sendRedirect(request.getContextPath()+/index.jsp);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionpackagecn.tedu.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassProdImgServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/src=$pageContext.request.contextPathservlet/ProdImgServlet?imgurl=$prod.imgurl/1、接收参数Stringimgurl=request.getParameter(imgurl);/2、处理./3、转发图片request.getRequestDispatcher(imgurl).forward(request,response);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException ProdInfoServlet.java 商品信息描述packagecn.tedu.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.tedu.dao.ProdDao;importcn.tedu.vo.Product;publicclassProdInfoServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/1、接收商品的idStringid=request.getParameter(id);/2、调用ProdDao方法,根据id查询商品信息ProdDaoprodDao=newProdDao();Productprod=prodDao.findProdById(id);/3、将prod保存到request中request.setAttribute(prod,prod);/4、转发到商品详情页面request.getRequestDispatcher(/prodInfo.jsp).forward(request,response);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException ProdListServlet.java 显示全部信息packagecn.tedu.servlet;importjava.io.IOException;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.tedu.dao.ProdDao;importcn.tedu.vo.Product;publicclassProdListServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptiondoPost(request,response);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/1、处理乱码request.setCharacterEncoding(UTF-8);/2、接收参数Stringname=request.getParameter(name);Stringcategory=request.getParameter(category);StringminpriceStr=request.getParameter(minprice);StringmaxpriceStr=request.getParameter(maxprice);/3、处理参数if(name=null)name=;if(category=null)category=;doubleminprice=-1;if(minpriceStr!=null&!.equals(minpriceStr)minprice=Double.parseDouble(minpriceStr);doublemaxprice=Double.MAX_VALUE;if(maxpriceStr!=null&!.equals(maxpriceStr)maxprice=Double.parseDouble(maxpriceStr);/4、创建ProdDao类的对象ProdDaoprodDao=newProdDao();/5、调用查询的方法Listlist=prodDao.findProdsByKey(name.trim(),category.trim(),minprice,maxprice);/6、将结果集保存到request对象中request.setAttribute(list,list);request.setAttribute(name,name);request.setAttribute(category,category);request.setAttribute(minprice,minpriceStr);request.setAttribute(maxprice,maxpriceStr);/7、转发request.getRequestDispatcher(/prodList.jsp).forward(request,response); RegistListServlet.java 注册packagecn.tedu.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.tedu.dao.UserDao;importcn.tedu.vo.User;publicclassRegistServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionpublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/处理接收参数时乱码问题request.setCharacterEncoding(UTF-8);/1、接收参数Stringusername=request.getParameter(username);Stringpassword=request.getParameter(password);Stringpassword2=request.getParameter(password2);Stringnickname=request.getParameter(nickname);Stringemail=request.getParameter(email);/2验证数据的合法性booleancheck=false;if(.equals(username)request.setAttribute(unmsg,用户名不能为空);check=true;if(.equals(password)request.setAttribute(pwdmsg,密码不能为空);check=true;if(!password.equals(password2)request.setAttribute(pwd2msg,两次输入的密码不一样);check=true;if(.equals(nickname)request.setAttribute(nkmsg,昵称不能为空);check=true;if(.equals(email)request.setAttribute(emailmsg,邮箱不能为空);check=true;/5、创建UserDao类的对象,调用注册的方法UserDaouserDao=newUserDao();/判断用户名是否存在booleanisHave=userDao.unIsHave(username);if(isHave)request.setAttribute(unmsg,用户名已经存在!);request.setAttribute(username,username);request.setAttribute(nickname,nickname);request.setAttribute(email,email);request.getR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论