JSP网上牛奶订购系统Word下载.docx
《JSP网上牛奶订购系统Word下载.docx》由会员分享,可在线阅读,更多相关《JSP网上牛奶订购系统Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
五、详细设计
1、部分代码-------------------------------------------------------------------------------------3
(1)MVC模式-------------------------------------------------------10
六、结论-----------------------------------------------------------------------------------------16
七、参考文献或资料--------------------------------------------------------------------------16
一、设计课题
基于JavaWeb的网上购奶系统
二、设计目的
1、掌握JavaWeb编程的基本知识
2、掌握数据库设计与开发(MySql数据库)
3、掌握JDBC技术
4、熟练掌握JSP动态网页的开发
5、熟练掌握在JSP中应用JavaBean
6、熟练掌握在JSP中应用JavaServlet
7、掌握JSP开发中的基本配置
8、掌握JSP标记
9、掌握JSP内置对象
10、熟练掌握MVC模式的使用
1、可行性分析
网上购奶成为中国电子商务市场中最富特色和活力的队伍之一
2、业务需求分析
网上购奶系统由2部分组成:
用户管理和管理员管理。
其中,用户管理负责注册用户,用户登录;
购奶网站是一个Web应用程序,用户可以通过Web浏览器登录到此网站,在此网站,用户可以查找要买的奶并购买,将奶加入购物车,然后生成订单,管理员负责订单管理,用户管理.
1、数据库设计
我设计的网上牛奶订购系统,这个系统运用了MVC的模式,使用的工具是MyEclipse和Mysql,具体操作如下:
首先建立了一个数据库,名叫sell_milk;
然后再此数据库下建立了四张表。
users表(用户信息表)
createtableusers(
uIDintauto_incrementprimarykey,
uAccountvarchar(255),
uPasswordvarchar(255),
uNamevarchar(255),
uSexvarchar(255),
uAgevarchar(255),
uAddressvarchar(255));
Admin表(管理员表)
createtableAdmin(
aNamevarchar(255),
aPasswordvarchar(255));
milk表(牛奶信息表)
createtablemilk(
milkIdintauto_incrementprimarykey,
milkNamevarchar(255),
milkPricefloat(10,2));
indent表(用户订购表)
createtableindent(
iNointauto_incrementprimarykey,
milkIdvarchar(255),
milkPricevarchar(255),
1、部分代码:
在MyEclipse里中建立一个WebProject,命名为milk,在项目下,建立了五个包:
com.jiangbaimei.www.vo下建立了四个类,分别为User.java,Admin.java,Order.java,Milk.java;
这是四个JAVABean,分别对User,Admin,Milk,Order的属性进行封装。
例如:
com.jiangbaimei.www.DBUtil里面装的是连接数据库的操作,在这里我把DB进行了封装,放在了DBUtilConfig.properties的文件中,便于修改。
文件内容如下:
driver=com.mysql.jdbc.Driver
url=jdbc:
mysql:
//localhost:
3306/sell_milk
user=root
password=root
com.jiangbaimei.www.dao
这里面主要是对存放接口,写入所需要的方法;
有MilkDao.java,UserDao.java,OrderDao.java
MilkDao.java
packagecom.jiangbaimei.www.dao;
importjava.util.List;
importcom.jiangbaimei.www.vo.Milk;
publicinterfaceMilkDao{
publicvoidaddmilk(Milkm);
publicvoiddeletemilk(Milkm);
publicvoidchange(Milkm);
publicList<
Milk>
lookmilk();
publicMilklookmilkBymilkName(Stringm);
publicMilkgetMilk(intid);
}
com.jiangbaimei.www.daoIpml这个包主要是对刚写的接口中的方法进行实现。
有UserDaoIpml.java,OrderDaoImpl.java,MilkDaoIpml.java。
UserDaoIpml.java
packagecom.jiangbaimei.www.daoImpl;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.ArrayList;
importcom.jiangbaimei.www.DBUtil.DBUtil;
importcom.jiangbaimei.www.dao.MilkDao;
publicclassMilkDaoImplimplementsMilkDao{
Connectionconn;
@Override
publicvoidaddmilk(Milkm){
Stringsql="
insertintomilk(milkName,milkPrice)values(?
?
)"
;
DBUtildb=newDBUtil();
conn=db.openConnection();
try{
PreparedStatementps=conn.prepareStatement(sql);
ps.setString(1,m.getMilkName());
ps.setString(2,m.getMilkPrice());
ps.executeUpdate();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
db.closeConnection(conn);
}
}
publicvoidchange(Milkm){
updatemilksetmilkName=?
milkPrice=?
wheremilkId=?
"
ps.setInt(3,m.getMilkId());
publicvoiddeletemilk(Milkm){
deletefrommilkwheremilkId=?
ps.setInt(1,m.getMilkId());
publicMilkgetMilk(intid){
select*frommilkwheremilkId=?
ps.setInt(1,id);
ResultSetrs=ps.executeQuery();
if(rs.next()){
Milkbook=newMilk();
book.setMilkId(id);
book.setMilkName(rs.getString("
milkName"
));
book.setMilkPrice(rs.getString("
milkPrice"
returnbook;
returnnull;
publicMilklookmilkBymilkName(Stringm){
select*frommilkwheremilkName=?
ps.setString(1,m);
if(rs.next()){
Milkmilk=newMilk();
milk.setMilkId(newInteger(rs.getInt("
milkId"
)).intValue());
milk.setMilkName(rs.getString("
milk.setMilkPrice(rs.getString("
returnmilk;
}
lookmilk(){
select*frommilk"
List<
list=newArrayList<
();
Milkmilk;
while(rs.next()){
milk=newMilk();
milk.setMilkId(newInteger(rs.getString("
list.add(milk);
returnlist;
OrderDaoIpml.java和MilkDaoIpml.java的实现和UserDaoIpml.java一样,在这里就不一一列举了。
com.jiangbaimei.www.Servlet这个包里的servlet类很重要。
Servlet相当于MVC里的C(Contrallor控制器),它是JSP和数据库之间的桥梁,并且它是一个多线程的,所以,可以进行多用户使用。
我在这里创建了两个Servlet类,一个是UserServlet,另一个是AdminServlet,它在这个项目中起到了重要的作用。
具体实现如下举例:
UserServlet
packagecom.jiangbeimei.www.Servlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importcom.jiangbaimei.www.dao.UserDao;
importcom.jiangbaimei.www.daoImpl.MilkDaoImpl;
importcom.jiangbaimei.www.daoImpl.UserDaoImpl;
importcom.jiangbaimei.www.vo.Order;
importcom.jiangbaimei.www.vo.User;
publicclassUserServletextendsHttpServlet{
publicUserServlet(){
super();
publicvoiddestroy(){
super.destroy();
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Stringaction=request.getParameter("
act"
);
request.setCharacterEncoding("
GBK"
response.setCharacterEncoding("
System.out.println(action);
if(action.equals("
lookMilk"
)){
List<
milklist=newArrayList<
MilkDaomd=newMilkDaoImpl();
milklist=md.lookmilk();
request.setAttribute("
milklist"
milklist);
request.getRequestDispatcher("
/usermilkList.jsp"
).forward(request,
response);
getMilk"
StringmilkId=request.getParameter("
id"
Milkmilk=newMilk();
milk=md.getMilk(newInteger(milkId).intValue());
milk"
milk);
request.getRequestDispatcher("
/buyMilk.jsp"
if(action.equals("
buyMilk"
byte[]milkId1=request.getParameter("
).getBytes("
iso-8859-1"
StringmilkId=newString(milkId1);
byte[]milkName1=request.getParameter("
StringmilkName=newString(milkName1);
byte[]milkPrice1=request.getParameter("
StringmilkPrice=newString(milkPrice1);
byte[]uAccount1=request.getParameter("
uAccount"
StringuAccount=newString(uAccount1);
byte[]uName1=request.getParameter("
uName"
StringuName=newString(uName1);
byte[]uAddress1=request.getParameter("
uAddress"
StringuAddress=newString(uAddress1);
Orderorder=newOrder();
order.setMilkId(newInteger(milkId).intValue());
order.setMilkName(milkName);
order.setMilkPrice(milkPrice);
order.setuAccount(uAccount);
order.setuName(uName);
order.setuAddress(uAddress);
UserDaoud=newUserDaoImpl();
ud.addOrder(order);
/buyMilkSuccess.jsp"
).forward(
request,response);
lookOrder"
StringuAccount=request.getParameter("
i