(一)目的

电子商务的迅速兴起,网上购物也为人们的生活提供了极大的便利,不受时间和空间的限制.商城系统的兴起,扩大了消费市场的空间,对于大型企业来说,建设商城系统是正确的选择,不仅要扩大销售渠道,而且可以带动企业快速发展,商城系统如何建设?从商城系统建设的目的、购物中心系统的功能以及商城系统的相关规划等方面进行具体分析。

(二)意义

购物中心系统给人们的生活带来了巨大的变化,提高了消费水平,促进了经济的发展.然而,企业要想更好地发展,提高经济效益,就必须了解如何建立商城系统,以更好地发展和扩大企业规模.

(三)内容

企业在进行网站建设时,应了解商城系统的基本功能,以便更好地开发网站的后期建设.购物中心系统的基本功能包括:商品管理功能、订单管理功能、会员管理功能、在线支付功能、物品管理功能等。

为了成功构建商城系统,我们还应该为商城系统的建设做一个好的规划.当根据网站属性设计网页时,设计风格应符合用户的浏览习惯.产品的展示效果受网站结构和整体布局的影响.企业应选择与设计相结合的配色方案,使网站的设计与网站的整体风格保持一致。

(四)主要任务

商场系统为用户提供免费选择所需产品的服务功能,及时对新产品进行及时、及时的向用户提供产品和服务的信息交流平台,促进企业在市场上的发展,提升品牌形象.因此,企业在构建商城系统时,应明确其目的和建设网站的必要性.

演示视频:

【java源码】基于java web servlet生鲜商城管理系统源码含报告文档

部分截图:

package servlet.admin;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;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 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 org.apache.commons.io.IOUtils;import  bean.Cake;
import  bean.Catalog;
import  bean.PageBean;
import  bean.UpLoadImg;
import  dao.CakeDao;
import  dao.CatalogDao;
import  dao.UpLoadImgDao;
import  dao.impl.CakeDaoImpl;
import  dao.impl.CatalogDaoImpl;
import  dao.impl.UpLoadImgDaoImpl;
import  util.RanUtil;import net.sf.json.JSONObject;/*** Servlet implementation class CakeManageServlet*/
@WebServlet("/jsp/admin/CakeManageServlet")
public class CakeManageServlet extends HttpServlet {private static final long serialVersionUID = 1L;private static final String BOOKLIST_PATH = "cakeManage/cakeList.jsp";// 商品列表页面地址private static final String BOOKADD_PATH = "cakeManage/cakeAdd.jsp";// 商品增加页面地址private static final String BOOKEDIT_PATH = "cakeManage/cakeEdit.jsp";// 商品修改页面地址private static final String BOOKDETAIL_PATH = "cakeManage/cakeDetail.jsp";// 商品详情页面地址private static final String BOOKIMGDIR_PATH="images/cake/cakeimg/";//商品图片保存文件夹相对路径/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse*      response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse*      response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String action = request.getParameter("action");switch (action) {case "list":cakeList(request, response);break;case "detail":cakeDetail(request, response);break;case "addReq":cakeAddReq(request, response);break;case "add":cakeAdd(request, response);break;case "edit":cakeEdit(request, response);break;case "update":cakeUpdate(request,response);break;case "find":cakeFind(request, response);break;case "updateImg":updateImg(request,response);break;case "del":cakeDel(request,response);break;case "batDel":cakeBatDel(request,response);break;case "seach":seachCake(request,response);}}private void seachCake(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {int curPage = 1;String page = request.getParameter("page");if (page != null) {curPage = Integer.parseInt(page);}int maxSize = Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));String cakename = request.getParameter("cakename");CakeDao bd = new CakeDaoImpl();PageBean pb = null;if(cakename != null && cakename != "") {pb = new PageBean(curPage, maxSize, bd.cakeReadCount(cakename));request.setAttribute("cakeList", bd.cakeList(pb,cakename));}else {pb = new PageBean(curPage, maxSize, bd.cakeReadCount());request.setAttribute("cakeList", bd.cakeList(pb));}request.setAttribute("pageBean", pb);request.getRequestDispatcher(BOOKLIST_PATH).forward(request, response);}//商品批量删除private void cakeBatDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String ids=request.getParameter("ids");CakeDao bd=new CakeDaoImpl();UpLoadImgDao uid=new UpLoadImgDaoImpl();File contextPath=new File(request.getServletContext().getRealPath("/"));String imgIds=bd.findimgIdByIds(ids);//批量查询图片的id并组成一组字符串List<UpLoadImg> list = uid.findImgByIds(imgIds);if(bd.cakeBatDelById(ids)) {request.setAttribute("cakeMessage", "商品已批量删除");if(uid.imgBatDelById(imgIds)) {for(UpLoadImg uli:list) {//批量删除本地文件File f=new File(contextPath,uli.getImgSrc());if(f.exists()) {f.delete();}}}}else {request.setAttribute("cakeMessage", "商品批量删除失败");}//用户删除成功失败都跳转到用户列表页面cakeList(request, response);//通过servlet中listUser跳到用户列表}//商品删除private void cakeDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {int id=Integer.parseInt(request.getParameter("id"));File contextPath=new File(request.getServletContext().getRealPath("/"));CakeDao bd=new CakeDaoImpl();UpLoadImgDao uid=new UpLoadImgDaoImpl();Cake cake=bd.findCakeById(id);//这里先删除数据库商品信息,再删除商品图片及本地硬盘图片信息if(bd.cakeDelById(id)) {request.setAttribute("cakeMessage", "商品已删除");if(uid.imgDelById(cake.getImgId())) {//删除本地文件File f=new File(contextPath,cake.getUpLoadImg().getImgSrc());if(f.exists()) {f.delete();}}}else {request.setAttribute("cakeMessage", "商品删除失败");}//用户删除成功失败都跳转到用户列表页面cakeList(request, response);//通过servlet中listUser跳到用户列表}//商品更新private void cakeUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {CakeDao cakeDao=new CakeDaoImpl();Cake cake=new Cake();cake.setCakeId(Integer.parseInt(request.getParameter("cakeId")));cake.setCatalogId(Integer.parseInt(request.getParameter("catalog")));cake.setPrice(Double.parseDouble(request.getParameter("price")));cake.setDescription(request.getParameter("description"));if(cakeDao.cakeUpdate(cake)) {request.setAttribute("cakeMessage", "修改成功");cakeList(request, response);}else {request.setAttribute("cakeMessage", "图片失败");request.setAttribute("cakeInfo", cakeDao.findCakeById(cake.getCakeId()));request.getRequestDispatcher(BOOKEDIT_PATH).forward(request, response);}}// 更新商品图片private void updateImg(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException {int cakeId = Integer.parseInt(request.getParameter("id"));boolean flag = false;String imgSrc = null;OutputStream outputStream = null;InputStream inputStream = null;String imgName = null;String contentType = null;CakeDao cakeDao = new CakeDaoImpl();UpLoadImgDao upImgDao = new UpLoadImgDaoImpl();File contextPath=new File(request.getServletContext().getRealPath("/"));File dirPath = new File( contextPath,BOOKIMGDIR_PATH);if (!dirPath.exists()) {dirPath.mkdirs();}DiskFileItemFactory dfif = new DiskFileItemFactory();ServletFileUpload servletFileUpload = new ServletFileUpload(dfif);List<FileItem> parseRequest = null;try {parseRequest = servletFileUpload.parseRequest(request);} catch (FileUploadException e) {e.printStackTrace();}Iterator<FileItem> iterator = parseRequest.iterator();while (iterator.hasNext()) {FileItem fileItem = iterator.next();if (!fileItem.isFormField()) {inputStream = fileItem.getInputStream();contentType = fileItem.getContentType();if ("image/jpeg".equals(contentType)) {imgName = RanUtil.getUUID() + ".jpg";flag = true;}if ("image/png".equals(contentType)) {imgName = RanUtil.getUUID() + ".png";flag = true;}}}if (flag) {imgSrc = BOOKIMGDIR_PATH + imgName;outputStream = new FileOutputStream(new File(contextPath,imgSrc));IOUtils.copy(inputStream, outputStream);outputStream.close();inputStream.close();//根据商品id去查询图片信息Cake cake = cakeDao.findCakeById(cakeId);UpLoadImg upImg = cake.getUpLoadImg();// 删除旧图片文件如果存在File oldImg = new File(contextPath,cake.getUpLoadImg().getImgSrc());if (oldImg.exists()) {oldImg.delete();}upImg.setImgName(imgName);upImg.setImgSrc(imgSrc);upImg.setImgType(contentType);if (upImgDao.imgUpdate(upImg)) {request.setAttribute("cakeMessage", "图片修改成功");} else {request.setAttribute("cakeMessage", "图片修改失败");}} else {request.setAttribute("cakeMessage", "图片修改失败");}cakeEdit(request,response);}// 获取商品分类信息private void cakeAddReq(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {CatalogDao cd = new CatalogDaoImpl();request.setAttribute("catalog", cd.getCatalog());request.getRequestDispatcher(BOOKADD_PATH).forward(request, response);}// 商品增加private void cakeAdd(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {boolean flag = false;Map<String, String> map = new HashMap<>();InputStream inputStream = null;OutputStream outputStream = null;File dirPath = new File(request.getServletContext().getRealPath("/") + BOOKIMGDIR_PATH);if (!dirPath.exists()) {dirPath.mkdirs();}DiskFileItemFactory dfif = new DiskFileItemFactory();ServletFileUpload servletFileUpload = new ServletFileUpload(dfif);// 解决乱码servletFileUpload.setHeaderEncoding("ISO8859_1");List<FileItem> parseRequest = null;try {parseRequest = servletFileUpload.parseRequest(request);} catch (FileUploadException e) {e.printStackTrace();}Iterator<FileItem> iterator = parseRequest.iterator();while (iterator.hasNext()) {FileItem fileItem = iterator.next();// 判断是否是表单的普通字段true为普通表单字段,false为上传文件内容if (fileItem.isFormField()) {String name = new String(fileItem.getFieldName().getBytes("ISO8859_1"), "utf-8");String value = new String(fileItem.getString().getBytes("ISO8859_1"), "utf-8");map.put(name, value);} else {String imgName = null;String contentType = fileItem.getContentType();if ("image/jpeg".equals(contentType)) {imgName = RanUtil.getUUID() + ".jpg";flag = true;}if ("image/png".equals(contentType)) {imgName = RanUtil.getUUID() + ".png";flag = true;}if (flag) {inputStream = fileItem.getInputStream();File file = new File(dirPath, imgName);outputStream = new FileOutputStream(file);// 保存img信息到map集合中,后面传入对象使用map.put("imgName", imgName);map.put("imgSrc", BOOKIMGDIR_PATH + imgName);map.put("imgType", contentType);}}}// 如果上传的内容小于3个必填项或者图片没有或类型不正确返回if (map.size() < 3 || !flag) {request.setAttribute("cakeMessage", "商品添加失败");cakeAddReq(request, response);} else {// 验证通过才可以保存图片流到本地IOUtils.copy(inputStream, outputStream);outputStream.close();inputStream.close();// 把map集合中存储的表单数据提取出来转换为cake对象// 这里要求商品增加的字段要和数据库字段一致,不然map集合转对象会出错Cake cake = new Cake();cake.setCakeName(map.get("cakeName"));cake.setPrice(Double.parseDouble(map.get("price")));cake.setDescription(map.get("desc"));// 商品分类信息Catalog catalog = cake.getCatalog();catalog.setCatalogId(Integer.parseInt(map.get("catalog")));// 图片信息UpLoadImg upLoadImg = cake.getUpLoadImg();upLoadImg.setImgName(map.get("imgName"));upLoadImg.setImgSrc(map.get("imgSrc"));upLoadImg.setImgType(map.get("imgType"));// 增加商品先增加商品图片,商品图片增加成功了在添加商品信息UpLoadImgDao uid = new UpLoadImgDaoImpl();if (uid.imgAdd(cake.getUpLoadImg())) {// 获取商品图片添加后的idInteger imgId = uid.findIdByImgName(upLoadImg.getImgName());upLoadImg.setImgId(imgId);CakeDao bd = new CakeDaoImpl();if (bd.cakeAdd(cake)) {request.setAttribute("cakeMessage", "商品添加成功");cakeList(request, response);} else {request.setAttribute("cakeMessage", "商品添加失败");cakeAddReq(request, response);}} else {// 图片添加失败就判定商品添加失败request.setAttribute("cakeMessage", "商品添加失败");cakeAddReq(request, response);}}}// 获取商品列表private void cakeList(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {int curPage = 1;String page = request.getParameter("page");if (page != null) {curPage = Integer.parseInt(page);}int maxSize = Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));CakeDao bd = new CakeDaoImpl();PageBean pb = new PageBean(curPage, maxSize, bd.cakeReadCount());request.setAttribute("pageBean", pb);request.setAttribute("cakeList", bd.cakeList(pb));request.getRequestDispatcher(BOOKLIST_PATH).forward(request, response);}// 商品详情页private void cakeDetail(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String id = request.getParameter("id");CakeDao bd = new CakeDaoImpl();request.setAttribute("cakeInfo", bd.findCakeById(Integer.parseInt(id)));request.getRequestDispatcher(BOOKDETAIL_PATH).forward(request, response);}// 接收商品修改请求private void cakeEdit(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {int cakeId = Integer.parseInt(request.getParameter("id"));CakeDao cakeDao = new CakeDaoImpl();CatalogDao catalogDao = new CatalogDaoImpl();request.setAttribute("catalog", catalogDao.getCatalog());//获取商品分类信息request.setAttribute("cakeInfo", cakeDao.findCakeById(cakeId));//获取商品信息byIdrequest.getRequestDispatcher(BOOKEDIT_PATH).forward(request, response);}// ajax查找商品是否存在private void cakeFind(HttpServletRequest request, HttpServletResponse response) throws IOException {String cakeName = request.getParameter("param");CakeDao bd = new CakeDaoImpl();// 这里实例化json对象需要导入6个jar包(// commons-lang-2.4.jar// ,commons-collections-3.2.1.jar,commons-beanutils-1.8.3.jar// json-lib-2.4-jdk15.jar ,ezmorph-1.0.6.jar ,commons-logging-1.1.3.jar)JSONObject json = new JSONObject();if (bd.findCakeByCakeName(cakeName)) {json.put("info", "该商品已存在");json.put("status", "n");} else {json.put("info", "输入正确");json.put("status", "y");}response.getWriter().write(json.toString());}}

基于java web servlet生鲜商城管理系统源码含报告文档相关推荐

  1. 基于JAVA准妈妈孕期交流平台计算机毕业设计源码+系统+lw文档+部署

    基于JAVA准妈妈孕期交流平台计算机毕业设计源码+系统+lw文档+部署 基于JAVA准妈妈孕期交流平台计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...

  2. 基于JAVA口红专卖网站计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA口红专卖网站计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA口红专卖网站计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  3. java计算机毕业设计疫情物质管理系统源码+数据库+lw文档+系统+部署

    java计算机毕业设计疫情物质管理系统源码+数据库+lw文档+系统+部署 java计算机毕业设计疫情物质管理系统源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  4. 基于JAVA小型健身俱乐部网站计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA小型健身俱乐部网站计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA小型健身俱乐部网站计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开 ...

  5. 基于JAVA健康饮食推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA健康饮食推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA健康饮食推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  6. 基于JAVA售楼系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA售楼系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA售楼系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...

  7. 基于JAVA家教到家平台计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA家教到家平台计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA家教到家平台计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  8. 基于JAVA张家口市旅游网计算机毕业设计源码+系统+lw文档+部署

    基于JAVA张家口市旅游网计算机毕业设计源码+系统+lw文档+部署 基于JAVA张家口市旅游网计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开 ...

  9. 基于JAVA图书馆借阅系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA图书馆借阅系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA图书馆借阅系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...

最新文章

  1. java学习类的笔记
  2. ExtJS + Gears
  3. 匿名内部类与Lambda表达式
  4. .net core 5 IIS Api网站部署需要注意
  5. Leetcod每日一题:151.reverse-words-in-a-string(翻转字符串里的单词)
  6. LINUX进程内存占用查看
  7. 董树义 近代微波测量技术_论文发表 | 基于微波雷达的1200米大跨悬索桥多点变形同步测量...
  8. work文档,Excel表格常用快捷键
  9. for in在python中什么意思_Python for 循环中 in 关键字含义是什么?
  10. 用Python快速分析和预测股票价格
  11. mybatis类型转换器处理PostGis数据库geometry类型转换
  12. office2010无法卸载问题
  13. 比江小白杜蕾斯还要清新,这些文案,可能这就是青春吧!
  14. js实现几秒倒计时之后自动跳转页面
  15. git配置代理 代理 socks5带用户名密码
  16. 罗克韦尔AB PLC RSLogix模拟量IO模块基本介绍
  17. 简约个人导航,主页,引导页html源码三分钟下载安装
  18. JavaScript的内存作用域闭包
  19. html书签解析,解析netscape样式书签html文件嵌套数组
  20. cad2020找不到MSVCP140.dll怎么办,msvcp140.dll无法继续执行代码

热门文章

  1. B3:Unity制作Moba类游戏——加载地图系统
  2. 【electron】打开离线包-双击文件打开关联应用
  3. 论文解读:《基于预先训练的DNA载体和注意机制识别增强子-启动子与神经网络的相互作用》
  4. OpenBSD,FreeBSD,Linux硬盘速度对比
  5. 【转】CultureInfo中重要的InvariantCulture
  6. java计算机毕业设计计算机类专业考研交流学习平台MyBatis+系统+LW文档+源码+调试部署
  7. AI Earth 深度学习模型替换数值天气预报模型中的参数化方案-大气辐射传输方案
  8. 爬虫python代码网易云_使用python爬取网易云歌曲下载时为0KB的解决方法 | ZPY博客...
  9. 常用计算机设备教案,初中信息技术《导购电脑设备》教案
  10. 怎么在mac下运行映像dmg_Mac制作dmg镜像重新安装系统方法