项目介绍
基于Jsp+Servlet+Mysql的鲜花售卖系统、鲜花在线商城、网上鲜花商城、网上鲜花售卖管理系统、鲜花销售系统,该系统基于Jsp+Servlet+Mysql技术实现了一套可供买家与卖家共同使用的鲜花售卖系统。前端为商品展示页面主要供用户浏览、购买商品,注册、登录账号、查看、修改个人信息等功能。后端为一套信息管理系统,提供管理员管理用户订单、商品信息、以及客户资料等功能,利用这些功能可以对鲜花销售信息进行较好的管理。经测试,该系统运行正常。
技术框架
前端框架:jsp+js+css
后端框框:java+servlet
数据库:MySQL
系统架构:B/S
开发工具:MySQL5.6、JDK8(JDK1.8)、Tomcat8.5、Idea
演示视频
【课设设计】基于Jsp+Servlet+Mysql的鲜花售卖系统、鲜花在线商城、网上鲜花商城、网上鲜花售卖管理系统、鲜花销售系统(源码+文档)
功能截图
首页
商品详情
商品分类
商品热销
新品
商品搜索
购物车
注册
登录
用户个人中心
猜你喜欢
提交订单
我的订单
管理员-订单管理
管理员-客户管理
管理员-商品管理
管理员-类目管理
文档示例
源码结构
代码示例
package servlet;
import model.Goods;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import service.GoodsService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
@WebServlet(name = "admin_goods_add",urlPatterns = "/admin/goods_add")
public class AdminGoodsAddServlet extends HttpServlet {
private GoodsService gService = new GoodsService();
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DiskFileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List<FileItem> list = upload.parseRequest(request);
Goods g = new Goods();
for(FileItem item:list) {
if(item.isFormField()) {
switch(item.getFieldName()) {
case "name":
g.setName(item.getString("utf-8"));
break;
case "price":
g.setPrice(Integer.parseInt(item.getString("utf-8")));
break;
case "intro":
g.setIntro(item.getString("utf-8"));
break;
case "stock":
g.setStock(Integer.parseInt(item.getString("utf-8")));
break;
case "typeid":
g.setTypeid(Integer.parseInt(item.getString("utf-8")));
break;
}
}else {
if(item.getInputStream().available()<=0)continue;
String fileName = item.getName();
fileName = fileName.substring(fileName.lastIndexOf("."));
fileName = "/"+new Date().getTime()+fileName;
String path = this.getServletContext().getRealPath("/picture")+fileName;
InputStream in = item.getInputStream();
FileOutputStream out = new FileOutputStream(path);
byte[] buffer = new byte[1024];
int len=0;
while( (len=in.read(buffer))>0 ) {
out.write(buffer);
}
in.close();
out.close();
item.delete();
switch(item.getFieldName()) {
case "cover":
g.setCover("/picture"+fileName);
break;
case "image1":
g.setImage1("/picture"+fileName);
break;
case "image2":
g.setImage2("/picture"+fileName);
break;
}
}
}
gService.insert(g);
request.getRequestDispatcher("/admin/goods_list").forward(request, response);
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
package service;
import dao.GoodsDao;
import model.Goods;
import model.Page;
//import sun.nio.cs.ext.IBM037;
import javax.management.monitor.StringMonitorMBean;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
public class GoodsService {
private GoodsDao gDao=new GoodsDao();
public List<Map<String,Object>> getGoodsList(int recommendType) {
List<Map<String,Object>> list=null;
try {
list=gDao.getGoodsList(recommendType);
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
// public Map<String,Object> getScrollGood()
// {
// Map<String,Object> scroolGood=null;
// try {
// scroolGood=gDao.getScrollGood();
// } catch (SQLException e) {
// e.printStackTrace();
// }
// return scroolGood;
// }
public List<Map<String,Object>> getScrollGood() {
List<Map<String,Object>> list=null;
try {
list=gDao.getScrollGood();
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
public List<Goods> selectGoodsByTypeID(int typeID, int pageNumber, int pageSize)
{
List<Goods> list=null;
try {
list=gDao.selectGoodsByTypeID(typeID,pageNumber,pageSize);
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
public Page selectPageByTypeID(int typeID,int pageNumber)
{
Page p=new Page();
p.setPageNumber(pageNumber);
int totalCount=0;
try {
totalCount=gDao.getCountOfGoodsByTypeID(typeID);
} catch (SQLException e) {
e.printStackTrace();
}
p.SetPageSizeAndTotalCount(8,totalCount);
List list=null;
try {
list=gDao.selectGoodsByTypeID(typeID,pageNumber,8);
} catch (SQLException e) {
e.printStackTrace();
}
p.setList(list);
return p;
}
public Page getGoodsRecommendPage(int type,int pageNumber) {
Page p = new Page();
p.setPageNumber(pageNumber);
int totalCount = 0;
try {
totalCount = gDao.getRecommendCountOfGoodsByTypeID(type);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
p.SetPageSizeAndTotalCount(8, totalCount);
List list=null;
try {
list = gDao.selectGoodsbyRecommend(type, pageNumber, 8);
for(Goods g : (List<Goods>)list) {
g.setScroll(gDao.isScroll(g));
g.setHot(gDao.isHot(g));
g.setNew(gDao.isNew(g));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
p.setList(list);
return p;
}
public Goods getGoodsById(int id) {
Goods g=null;
try {
g = gDao.getGoodsById(id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return g;
}
public Page getSearchGoodsPage(String keyword, int pageNumber) {
Page p = new Page();
p.setPageNumber(pageNumber);
int totalCount = 0;
try {
// totalCount = gDao.getGoodsCount(typeId);
totalCount = gDao.getSearchCount(keyword);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
p.SetPageSizeAndTotalCount(8, totalCount);
List list=null;
try {
// list = gDao.selectGoods(keyword, pageNo, 8);
list = gDao.selectSearchGoods(keyword,pageNumber,8);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
p.setList(list);
return p;
}
public void addRecommend(int id,int type) {
try {
gDao.addRecommend(id, type);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void removeRecommend(int id,int type) {
try {
gDao.removeRecommend(id, type);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void insert(Goods goods) {
try {
gDao.insert(goods);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void update(Goods goods) {
try {
gDao.update(goods);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//根据商品id删除整条商品信息
public void delete(int id) {
try {
gDao.delete(id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}