JSP網(wǎng)上牛奶訂購系統(tǒng)_第1頁
JSP網(wǎng)上牛奶訂購系統(tǒng)_第2頁
JSP網(wǎng)上牛奶訂購系統(tǒng)_第3頁
JSP網(wǎng)上牛奶訂購系統(tǒng)_第4頁
JSP網(wǎng)上牛奶訂購系統(tǒng)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 項目設(shè)計題目:基于Java Web的網(wǎng)上購書系統(tǒng)課程名稱:Java Web項目開發(fā)學(xué) 號: 姓 名: 陳 婷 婷任課教師: 孫 瑞班 級: 10 級 1 班學(xué) 院:信息工程學(xué)院完成時間:2013年07月5日目錄一、設(shè)計課題-2二、設(shè)計目的-2三、設(shè)計分析1、可行性分析-22、業(yè)務(wù)需求分析-2 四、系統(tǒng)設(shè)計1、數(shù)據(jù)庫設(shè)計-2 五、詳細(xì)設(shè)計1、部分代碼-3(1)MVC模式-10六、結(jié)論-16七、參考文獻(xiàn)或資料-16一、設(shè)計課題基于Java Web的網(wǎng)上購奶系統(tǒng)二、設(shè)計目的1、掌握J(rèn)ava Web編程的基本知識2、掌握數(shù)據(jù)庫設(shè)計與開發(fā)(MySql數(shù)據(jù)庫)3、掌握J(rèn)DBC技術(shù)4、熟練掌握J(rèn)SP動態(tài)網(wǎng)

2、頁的開發(fā)5、熟練掌握在JSP中應(yīng)用Java Bean6、熟練掌握在JSP中應(yīng)用Java Servlet7、掌握J(rèn)SP開發(fā)中的基本配置8、掌握J(rèn)SP標(biāo)記9、掌握J(rèn)SP內(nèi)置對象10、熟練掌握MVC模式的使用三、設(shè)計分析1、可行性分析網(wǎng)上購奶成為中國電子商務(wù)市場中最富特色和活力的隊伍之一 2、業(yè)務(wù)需求分析網(wǎng)上購奶系統(tǒng)由2部分組成:用戶管理和管理員管理。其中,用戶管理負(fù)責(zé)注冊用戶,用戶登錄;購奶網(wǎng)站是一個Web應(yīng)用程序,用戶可以通過Web瀏覽器登錄到此網(wǎng)站,在此網(wǎng)站,用戶可以查找要買的奶并購買,將奶加入購物車,然后生成訂單,管理員負(fù)責(zé)訂單管理,用戶管理四、系統(tǒng)設(shè)計1、數(shù)據(jù)庫設(shè)計我設(shè)計的網(wǎng)上牛奶訂購系統(tǒng)

3、,這個系統(tǒng)運用了MVC的模式,使用的工具是MyEclipse和Mysql,具體操作如下:首先建立了一個數(shù)據(jù)庫,名叫sell_milk;然后再此數(shù)據(jù)庫下建立了四張表。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);五、詳細(xì)設(shè)計1、部分代碼:在MyEclipse里中建立一個Web Project,命名為milk,在項目下,建立了五個包:com.jiangbaimei.www.vo下建立了四個類,分別為User.java,Admin.java,Order.java,Milk.java;這是四個JAVABean,分別對User,Admin,Milk,Order的屬性進(jìn)行封裝。例如:com.jiangbaimei.www.DBUtil里面裝的是連接數(shù)據(jù)庫的操作,在這里我把DB進(jìn)行了封裝,放在了DBUtilC

6、perties的文件中,便于修改。文件內(nèi)容如下: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這個包主要是對剛寫的接口中的方法進(jìn)行實現(xiàn)。有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的實現(xiàn)和UserDaoIpml.java一樣,在這里就不一一列舉了。com.jiangbaimei.www.Servlet這個包里的servlet類很重要。Servlet相當(dāng)于MVC里的C(Contrallor控制器),它是JSP和數(shù)據(jù)庫之間的橋梁,并且它是一個多線程的,所以,可以進(jìn)行多用戶使用。我在這里創(chuàng)建了兩個Servlet類,一個是UserServlet,另一個是AdminServlet,它在這個項目中起到了

19、重要的作用。具體實現(xiàn)如下舉例:例如: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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論