




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 项目设计题目:基于Java Web的网上购书系统课程名称:Java Web项目开发学 号: 姓 名: 陈 婷 婷任课教师: 孙 瑞班 级: 10 级 1 班学 院:信息工程学院完成时间:2013年07月5日目录一、设计课题-2二、设计目的-2三、设计分析1、可行性分析-22、业务需求分析-2 四、系统设计1、数据库设计-2 五、详细设计1、部分代码-3(1)MVC模式-10六、结论-16七、参考文献或资料-16一、设计课题基于Java Web的网上购奶系统二、设计目的1、掌握Java Web编程的基本知识2、掌握数据库设计与开发(MySql数据库)3、掌握JDBC技术4、熟练掌握JSP动态网
2、页的开发5、熟练掌握在JSP中应用Java Bean6、熟练掌握在JSP中应用Java Servlet7、掌握JSP开发中的基本配置8、掌握JSP标记9、掌握JSP内置对象10、熟练掌握MVC模式的使用三、设计分析1、可行性分析网上购奶成为中国电子商务市场中最富特色和活力的队伍之一 2、业务需求分析网上购奶系统由2部分组成:用户管理和管理员管理。其中,用户管理负责注册用户,用户登录;购奶网站是一个Web应用程序,用户可以通过Web浏览器登录到此网站,在此网站,用户可以查找要买的奶并购买,将奶加入购物车,然后生成订单,管理员负责订单管理,用户管理四、系统设计1、数据库设计我设计的网上牛奶订购系统
3、,这个系统运用了MVC的模式,使用的工具是MyEclipse和Mysql,具体操作如下:首先建立了一个数据库,名叫sell_milk;然后再此数据库下建立了四张表。users表(用户信息表)create table users(uID int auto_increment primary key,uAccount varchar(255),uPassword varchar(255),uName varchar(255),uSex varchar(255),uAge varchar(255),uAddress varchar(255);Admin表(管理员表)create table Admi
4、n(aName varchar(255),aPassword varchar(255);milk表(牛奶信息表)create table milk(milkId int auto_increment primary key,milkName varchar(255),milkPrice float(10,2);indent表(用户订购表)create table indent(iNo int auto_increment primary key,milkId varchar(255),milkName varchar(255),milkPrice varchar(255),uAccount v
5、archar(255),uName varchar(255),uAddress varchar(255);五、详细设计1、部分代码:在MyEclipse里中建立一个Web Project,命名为milk,在项目下,建立了五个包:com.jiangbaimei.www.vo下建立了四个类,分别为User.java,Admin.java,Order.java,Milk.java;这是四个JAVABean,分别对User,Admin,Milk,Order的属性进行封装。例如:com.jiangbaimei.www.DBUtil里面装的是连接数据库的操作,在这里我把DB进行了封装,放在了DBUtilC
6、perties的文件中,便于修改。文件内容如下:driver=com.mysql.jdbc.Driverurl=jdbc:mysql:/localhost:3306/sell_milkuser=rootpassword=rootcom.jiangbaimei.www.dao这里面主要是对存放接口,写入所需要的方法;有MilkDao.java,UserDao.java,OrderDao.java例如:MilkDao.javapackage com.jiangbaimei.www.dao;import java.util.List;import com.jiangbaimei.w
7、ww.vo.Milk;public interface MilkDao public void addmilk(Milk m);public void deletemilk(Milk m);public void change(Milk m);public List lookmilk();public Milk lookmilkBymilkName(String m);public Milk getMilk(int id);com.jiangbaimei.www.daoIpml这个包主要是对刚写的接口中的方法进行实现。有UserDaoIpml.java,OrderDaoImpl.java,Mi
8、lkDaoIpml.java。例如:UserDaoIpml.javapackage com.jiangbaimei.www.daoImpl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import com.jiangbaimei.www.DBUtil.DBUti
9、l;import com.jiangbaimei.www.dao.MilkDao;import com.jiangbaimei.www.vo.Milk;public class MilkDaoImpl implements MilkDao Connection conn;Overridepublic void addmilk(Milk m) String sql = insert into milk(milkName,milkPrice) values(?,?);DBUtil db = new DBUtil();conn = db.openConnection();try PreparedSt
10、atement ps = conn.prepareStatement(sql);ps.setString(1, m.getMilkName();ps.setString(2, m.getMilkPrice();ps.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally db.closeConnection(conn);Overridepublic void change(Milk m) DBUtil db = new DBUtil();conn = db.openConnection();String sql
11、= update milk set milkName=?,milkPrice=? where milkId=?;try PreparedStatement ps = conn.prepareStatement(sql);ps.setString(1, m.getMilkName();ps.setString(2, m.getMilkPrice();ps.setInt(3, m.getMilkId();ps.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally db.closeConnection(conn);O
12、verridepublic void deletemilk(Milk m) String sql = delete from milk where milkId=?;DBUtil db = new DBUtil();conn = db.openConnection();try PreparedStatement ps = conn.prepareStatement(sql);ps.setInt(1, m.getMilkId();ps.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally db.closeConn
13、ection(conn);Overridepublic Milk getMilk(int id) DBUtil db = new DBUtil();conn = db.openConnection();String sql = select * from milk where milkId=?;try PreparedStatement ps = conn.prepareStatement(sql);ps.setInt(1, id);ResultSet rs = ps.executeQuery();if (rs.next() Milk book = new Milk();book.setMil
14、kId(id);book.setMilkName(rs.getString(milkName);book.setMilkPrice(rs.getString(milkPrice);return book; catch (SQLException e) e.printStackTrace(); finally db.closeConnection(conn);return null;Overridepublic Milk lookmilkBymilkName(String m) DBUtil db = new DBUtil();conn = db.openConnection();String
15、sql = select * from milk where milkName=?;try PreparedStatement ps = conn.prepareStatement(sql);ps.setString(1, m);ResultSet rs = ps.executeQuery();if (rs.next() Milk milk = new Milk();milk.setMilkId(new Integer(rs.getInt(milkId).intValue();milk.setMilkName(rs.getString(milkName);milk.setMilkPrice(r
16、s.getString(milkPrice);return milk; catch (SQLException e) e.printStackTrace(); finally db.closeConnection(conn);return null;Overridepublic List lookmilk() DBUtil db = new DBUtil();conn = db.openConnection();String sql = select * from milk;List list = new ArrayList();Milk milk ;try PreparedStatement
17、 ps = conn.prepareStatement(sql);ResultSet rs = ps.executeQuery();while (rs.next() milk=new Milk();milk.setMilkId(new Integer(rs.getString(milkId).intValue();milk.setMilkName(rs.getString(milkName);milk.setMilkPrice(rs.getString(milkPrice);list.add(milk);return list; catch (SQLException e) e.printSt
18、ackTrace(); finally db.closeConnection(conn);return null;OrderDaoIpml.java和MilkDaoIpml.java的实现和UserDaoIpml.java一样,在这里就不一一列举了。com.jiangbaimei.www.Servlet这个包里的servlet类很重要。Servlet相当于MVC里的C(Contrallor控制器),它是JSP和数据库之间的桥梁,并且它是一个多线程的,所以,可以进行多用户使用。我在这里创建了两个Servlet类,一个是UserServlet,另一个是AdminServlet,它在这个项目中起到了
19、重要的作用。具体实现如下举例:例如:UserServletpackage com.jiangbeimei.www.Servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import java
20、x.servlet.http.HttpServletResponse;import com.jiangbaimei.www.dao.MilkDao;import com.jiangbaimei.www.dao.UserDao;import com.jiangbaimei.www.daoImpl.MilkDaoImpl;import com.jiangbaimei.www.daoImpl.UserDaoImpl;import com.jiangbaimei.www.vo.Milk;import com.jiangbaimei.www.vo.Order;import com.jiangbaimei
21、.www.vo.User;public class UserServlet extends HttpServlet public UserServlet() super();public void destroy() super.destroy();public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String action = request.getParameter(act);request.setCharacterE
22、ncoding(GBK);response.setCharacterEncoding(GBK);System.out.println(action);if (action.equals(lookMilk) List milklist = new ArrayList();MilkDao md = new MilkDaoImpl();milklist = md.lookmilk();request.setAttribute(milklist, milklist);request.getRequestDispatcher(/usermilkList.jsp).forward(request,resp
23、onse);if (action.equals(getMilk) String milkId = request.getParameter(id);Milk milk = new Milk();MilkDao md = new MilkDaoImpl();milk = md.getMilk(new Integer(milkId).intValue();request.setAttribute(milk, milk);request.getRequestDispatcher(/buyMilk.jsp).forward(request,response);if (action.equals(buy
24、Milk) byte milkId1 = request.getParameter(milkId).getBytes(iso-8859-1);String milkId=new String(milkId1);byte milkName1 = request.getParameter(milkName).getBytes(iso-8859-1);String milkName=new String(milkName1);byte milkPrice1 = request.getParameter(milkPrice).getBytes(iso-8859-1);String milkPrice=
25、new String(milkPrice1);byte uAccount1 = request.getParameter(uAccount).getBytes(iso-8859-1);String uAccount=new String(uAccount1);byte uName1 = request.getParameter(uName).getBytes(iso-8859-1);String uName=new String(uName1);byte uAddress1 = request.getParameter(uAddress).getBytes(iso-8859-1);String
26、 uAddress = new String(uAddress1);Order order = new Order();order.setMilkId(new Integer(milkId).intValue();order.setMilkName(milkName);order.setMilkPrice(milkPrice);order.setuAccount(uAccount);order.setuName(uName);order.setuAddress(uAddress);UserDao ud = new UserDaoImpl();ud.addOrder(order);request
27、.getRequestDispatcher(/buyMilkSuccess.jsp).forward(request, response);if (action.equals(lookOrder) String uAccount=request.getParameter(id);UserDao ud=new UserDaoImpl();List userOrder=new ArrayList();userOrder=ud.lookOrder(uAccount);request.setAttribute(userOrder, userOrder);request.getRequestDispat
28、cher(/userLookOrder.jsp).forward(request, response);if (action.equals(lookuserbyuAccount) String account = request.getParameter(uAccount);User user = new User();user.setuAccount(account);List list = new ArrayList();UserDao u = new UserDaoImpl();list = u.lookuserbyaccount(user);request.setAttribute(u
29、ser, list);request.getRequestDispatcher(/userlookSelf.jsp).forward(request, response);if(action.equals(getUser)String uId = request.getParameter(id);UserDao ud = new UserDaoImpl();User user = new User();user = ud.getuser(new Integer(uId).intValue();request.setAttribute(user, user);request.getRequest
30、Dispatcher(/changeUser.jsp).forward(request,response);if(action.equals(changeUser)String uId = request.getParameter(uId);System.out.println(uId);byte uAccount1 = request.getParameter(uAccount).getBytes(iso-8859-1);String uAccount=new String(uAccount1);System.out.println(uAccount);String uPassword =
31、request.getParameter(uPassword);System.out.println(uPassword);byte uName1 = request.getParameter(uName).getBytes(iso-8859-1);String uName=new String(uName1);System.out.println(uName);String uSex = request.getParameter(uSex);System.out.println(uSex);String uAge = request.getParameter(uAge);System.out
32、.println(uAge);byte uAddress1 = request.getParameter(uAddress).getBytes(iso-8859-1);String uAddress=new String(uAddress1);System.out.println(uAddress);User user = new User();user.setuId(new Integer(uId).intValue();user.setuAccount(uAccount);user.setuPassword(uPassword);user.setuName(uName);user.setuSex(uSex);user.setuAge(uAge);user.setuAddress(uAddress);UserDao userdao = new UserDaoImpl();userdao.change(user);request.getRequestDispatcher(/servlet/UserServlet?act=lookuserbyuAccount&uAccount=+uAccount).forward(request,response);public void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卖唱设备租用合同范例
- 十堰花卉租赁合同范例
- 包包买卖合同样本
- 单位转让招租合同样本
- 卖散酒合同样本
- 劳动报酬合同范例
- 单位空调采购合同范例
- 割草承包协议合同样本
- 卤味材料转让合同样本
- 单面彩钢板出售合同标准文本
- 小学奥数等差数列经典练习题
- 2024年江苏省常州市中考一模英语试卷(含答案解析)
- 2024年福建省中考历史试卷(含标准答案及解析)
- 人教版四年级下册音乐《唱山歌》教学设计
- 车辆维修免责协议书范本
- 2024医疗设备器械试用协议书
- 甘肃省武威第七中学2023-2024学年八年级下学期期中考试英语试题
- ASME材料-设计许用应力
- 采用SF6N2混合气体绝缘的GIS母线和GIL应用导则
- MOOC 家具史-南京林业大学 中国大学慕课答案
- 大学生心理健康知识竞赛题库及答案(174题)
评论
0/150
提交评论