《数据库课程设计easymall电子商城大学论文.doc》由会员分享,可在线阅读,更多相关《数据库课程设计easymall电子商城大学论文.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 数据库课程设计 选题名称: EasyMall电子商城 姓 名: 学 号: 专业班级: 系 (院): 计算机工程学院 设计时间: 设计地点: 指导教师评语: 签名: 年 月 日数据库课程设计 第 24 页,共 24 页1课程设计目的熟悉掌握MySQL,MyEclipse软件的应用,巩固数据库中所学的知识,结合J2EE内容,将数据库中的数据与myEclipse相连接。初步了解有关大数据的知识,利用所学知识来设计一个easymall商城,实现商城的登录注册,加入购物车,查看商品信息等功能。通过实践来经历一个数据库系统开发的全过程并受到一次综
2、合的训练,以便能较全面的理解、掌握和综合运用所学的知识去分析、解决实际问题。2课程设计任务与要求: 课程设计任务: 完成easymall商城系统的分析设计工作,并选用适当的开发工具完成系统的开发。 课程设计要求: 实现 商城的主页面 商品详细信息展示 商品加入购物车 商品订单查询 商品的查询 用户的注册、登录、注销 3 课程设计说明书(1) 流程图我的购物车我的订单注销全部商品登录 主页面商品详情加入购物车登录注册 (2)在mysql中建立表:(主键id) 商品表products 用来存储商品的名字:name商品的价格:price商品的类型:category商品的编号:pumn商品的图片地址:
3、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类
4、 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.JdbcUti
5、l;importcn.tedu.vo.Product;publicclassProdDaoConnectionconn=null;PreparedStatementpstat=null;ResultSetrs=null;/*根据查询条件,查询符合条件的商品集合*paramname商品名称*paramcategory:商品分类*paramminprice:价格区间的最小值*parammaxprice:价格区间的最大值*return查询符合条件的商品集合List*/publicListfindProdsByKey(Stringname,Stringcategory,doubleminprice,d
6、oublemaxprice)/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,反之返回fa
7、lse*/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.prin
8、tStackTrace();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.Htt
9、pServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.tedu.dao.ProdDao;importcn.tedu.vo.Product;publicclassCartAddServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/1、接收商品idStringid=request.getParameter(id
10、);/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);/如果当前
11、商品已经购买过,则在原购买数量的基础上加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,I
12、OException 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;publicc
13、lassLoginServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionpublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/1、接收form表单提交过来的参数Stringusername=request.getParameter(use
14、rname);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,密码不能
15、为空);/转发到登陆页面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.g
16、etRequestDispatcher(/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.h
17、ttp.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.tedu.dao.UserDao;importcn.tedu.vo.User;publicclassLoginServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionpu
18、blicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/1、接收form表单提交过来的参数Stringusername=request.getParameter(username);Stringpassword=request.getParameter(password);/2、验证用户名是否为空if(username=null|.equals(username)/提示信息request.setAttribute(msg,用户名不能为空!);/
19、转发到登陆页面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类的对象UserDaouserD
20、ao=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.js
21、p).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;publicclassLogoutServletextendsHt
22、tpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/注销用户/从session中删除loginUser对象if(request.getSession(false)!=null)/从session中删除loginUser信息request.getSession().removeAttribute(loginUser);/把session销毁request.getSession().invalidate();/调整到首页re
23、sponse.sendRedirect(request.getContextPath()+/index.jsp);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException ProdimgServlet.java 显示商品图片packagecn.tedu.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException
24、;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassLogoutServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/注销用户/从session中删除loginUser对
25、象if(request.getSession(false)!=null)/从session中删除loginUser信息request.getSession().removeAttribute(loginUser);/把session销毁request.getSession().invalidate();/调整到首页response.sendRedirect(request.getContextPath()+/index.jsp);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServle
26、tException,IOExceptionpackagecn.tedu.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassProdImgServletextendsHttpServ
27、letpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/src=$pageContext.request.contextPathservlet/ProdImgServlet?imgurl=$prod.imgurl/1、接收参数Stringimgurl=request.getParameter(imgurl);/2、处理./3、转发图片request.getRequestDispatcher(imgurl).forward(request
28、,response);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException ProdInfoServlet.java 商品信息描述packagecn.tedu.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServ
29、letRequest;importjavax.servlet.http.HttpServletResponse;importcn.tedu.dao.ProdDao;importcn.tedu.vo.Product;publicclassProdInfoServletextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException/1、接收商品的idStringid=request.getParameter(id);/
30、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.ser