JavaWeb毕业设计-蛋糕商城系统(idea可用)

软件工程课程设计|毕业设计之蛋糕商城系统代码-基于javaweb的蛋糕商城系统-基于jsp的商品销售平台代码

前言

本次文章主要是介绍蛋糕商城系统的功能,系统分为两个角色,管理员,用户

一、系统功能

1.1 开发环境

  • 开发语言:Java
  • 技术:JavaWeb【Servlet】
  • 数据库:MySQL
  • 架构:B/S
  • 源码类型: Web
  • 编译工具:Idea
  • 其他:jdk1.8、Tomcat9.0 、Navicat

1.2 管理员功能

登录,用户管理,商品类目管理,商品管理,节日管理,订单管理,发货

1.3 用户功能

注册,登录,修改密码,输入收货信息,搜索,查看热销商品,查看新品
加入购物车,提交订,收货

二、部分功能展示

☀️首页☀️

 ☀️商品展示☀️

  ☀️项目结构展示☀️

三、部分代码设计

3.1.商品推荐

@WebServlet(name = "admin_goods_list",urlPatterns = "/admin/goods_list")
public class AdminGoodsListServlet extends HttpServlet {
    private GoodsService gService = new GoodsService();
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        int type = 0;//推荐类型
        if(request.getParameter("type") != null) {
            type=Integer.parseInt(request.getParameter("type") ) ;
        }
        int pageNumber = 1;
        if(request.getParameter("pageNumber") != null) {
            try {
                pageNumber=Integer.parseInt(request.getParameter("pageNumber") ) ;
            }
            catch (Exception e)
            {

            }

        }
        if(pageNumber<=0)
            pageNumber=1;
        Page p = gService.getGoodsRecommendPage(type, pageNumber);
        if(p.getTotalPage()==0)
        {
            p.setTotalPage(1);
            p.setPageNumber(1);
        }
        else {
            if(pageNumber>=p.getTotalPage()+1)
            {
                p = gService.getGoodsRecommendPage(type, pageNumber);
            }
        }
        request.setAttribute("p", p);
        request.setAttribute("type", type);
        request.getRequestDispatcher("/admin/goods_list.jsp").forward(request, response);
    }

3.2.商品推荐

@WebServlet("/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;
					System.out.println(path);
					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);
	}

}

3.3.编辑商品

@WebServlet("/admin/goods_edit")
public class AdminGoodsEditServlet 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();
			int pageNo =1;
			int type=0;
			for(FileItem item:list) {
				if(item.isFormField()) {
					switch(item.getFieldName()) {
					case "id":
						g.setId(Integer.parseInt(item.getString("utf-8")));
						break;
					case "name":
						g.setName(item.getString("utf-8"));
						break;
					case "price":
						g.setPrice(Float.parseFloat(item.getString("utf-8")));
						break;
					case "intro":
						g.setIntro(item.getString("utf-8"));
						break;
					case "cover":
						g.setCover(item.getString("utf-8"));
						break;
					case "image1":
						g.setImage1(item.getString("utf-8"));
						break;
					case "image2":
						g.setImage2(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;
					case "pageNo":
						pageNo=Integer.parseInt(item.getString("utf-8"));
						break;
					case "type":
						type = 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;
					System.out.println(path);
					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.update(g);
			request.getRequestDispatcher("/admin/goods_list?pageNo="+pageNo+"&type="+type).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);
	}

}

总结

获取源码 https://www.alipan.com/s/rkXfhP8suVn 

感谢或求助

如果内容对你的学习有帮助的话不妨感谢一杯cafe

如果你需要我远程帮你的话请赞助40以上

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头和超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家和地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值