(免费分享)基于jsp,ssm甜点网站

news2024/11/15 21:42:48

开发工具:eclipse,jdk1.8

数据库:mysql5.7,Tomcat8.0

 

 

 

 

 

 

 

 

package com.softeem.controller;

import java.util.HashMap;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.softeem.service.GoodsService;

@Controller
public class GoodsController {
	
	@Resource(name="goodsServiceImpl")
	GoodsService gservice;
	
	/**
	 * 查看商品详细信息
	 * @param id
	 * @return
	 */
	@RequestMapping("goods_xiangqing")
	@ResponseBody
	public ModelAndView xiangqing(String id){
		ModelAndView mav=new ModelAndView();
		//获取商品id
		//System.out.println(id);
		//调用业务层的方法
		Map<String,Object> map=gservice.goodsinfo(id);
		mav.addObject("goods", map);
		mav.setViewName("xiangqing");
		return mav;
	}
	
	/**
	 * 查询所有商品列表
	 * @return
	 */
	@RequestMapping("goods_list")
	@ResponseBody
	public ModelAndView goodsList(){
		ModelAndView mav=new ModelAndView();
		//调用服务层,查询所有商品
		Map<String,Object> map=gservice.goodsList();
//		System.out.println(map.get("status"));
//		System.out.println(map.get("msg"));
//		System.out.println(map.get("data"));
		if("0".equals(map.get("status"))){
			//成功
			mav.setViewName("list");
			mav.addObject("status", "0");
			mav.addObject("goodslist", map);
		}else{
			mav.setViewName("list");
			mav.addObject("status", "1");
			mav.addObject("goodslist", map);
		}
		return mav;
	}
	
	/**
	 * 搜索商品(模糊查询)
	 * @param name
	 * @return
	 */
	@RequestMapping("selectGoods")
	@ResponseBody
	public ModelAndView searchGoods(String name){
		ModelAndView mav=new ModelAndView();
		//调用业务层模糊查询
		Map<String,Object> map=gservice.searchForGoods(name);
		mav.setViewName("list");
		mav.addObject("goodslist", map);
		return mav;
	}
	
	
	
	
	
	
	
}

package com.softeem.controller;

import java.util.HashMap;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.softeem.service.AddressService;

@Controller
public class AddressController {
    
    @Resource(name="addressServiceImpl")
    AddressService aservice;
    
    /**
     * 用户添加收货地址
     * @param uid 用户id
     * @param adduser 收货人名
     * @param phone 收货人手机号
     * @param detailadd 详细地址
     * @return
     */
    @RequestMapping("address_add")
    @ResponseBody
    public ModelAndView addAddress(String uid,String adduser,String phone,String detailadd,HttpSession session){
        ModelAndView mav=new ModelAndView();
        //调用业务层
        Map<String,Object> map=aservice.addAddress(uid, adduser, phone, detailadd);
        session.setAttribute("address", map);
        
        if("2".equals(map.get("status"))){
            //达到上限
            mav.addObject("code", map.get("status"));
        }
        mav.setViewName("address");
        return mav;
    }
    
    /**
     * 进入到地址管理界面初始化所有地址信息
     * @param uid 用户id
     * @return
     */
    @RequestMapping("addressAll")
    @ResponseBody
    public ModelAndView addressAll(String uid){
        ModelAndView mav=new ModelAndView();
        //调用业务层查询所有地址信息
        Map<String,Object> map=aservice.addressAll(uid);
        mav.setViewName("address");
        mav.addObject("address", map);
        return mav;
    }
    
    /**
     * 修改默认地址的方法
     * @param id 地址id
     * @param uid 用户id
     * @return
     */
    @RequestMapping("address_changeDefault")
    @ResponseBody
    public Map<String,Object> modifyDefaultAddress(String id,String uid){
        //调用业务层修改状态
        Map<String,Object> map=aservice.modifyDefaultAddress(id, uid);
        return map;
    }
    
    /**
     * 删除地址
     * @param id 地址id
     * @param uid 用户id
     * @return
     */
    @RequestMapping("address_del")
    @ResponseBody
    public Map<String,Object> delAddress(String id,String uid){
        //调用业务层
        //addressAll(uid);
        return aservice.delAddress(id, uid);
    }
    
    
    
}
 

 

 源码获取:关注底部gongzhonghao,024领取下载链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/131504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

labelImag安装及使用教程

在做目标检测任务时&#xff0c;需要进行标注&#xff0c;选择了LabelImg作为标注工具&#xff0c;下面是安装及使用过程。 我们使用Anconda的虚拟环境进行安装&#xff0c;激活环境后&#xff0c;执行&#xff1a; pip install labelimg -i https://pypi.tuna.tsinghua.edu.c…

WebSocket 协议详述( java在线聊天室_上篇)

文章目录1、 WebSocket 协议1.1、 何为WebSocket&#xff1f;1.2、 websocket 和 http&#xff08;应用层的俩个协议&#xff09;1.3、 websocket协议的具体过程1.4、websocket好处2、 WebSocket实现2.1、 客户端实现2.1.1、 websocket对象2.1.2、 websocket事件2.1.3、 websoc…

【linux】linux中vim/vi (linux基本开发工具)

本期主题&#xff1a;linux中vim/vi的使用和介绍。博客主页&#xff1a;小峰同学分享小编的在Linux中学习到的知识和遇到的问题小编的能力有限&#xff0c;出现错误希望大家不吝赐 目录 &#x1f341;vim键盘图 &#x1f341;vim基本概念 &#x1f341;vim的基本操作 &#x1…

Python使用库(二)

Python使用库&#xff08;二&#xff09; 第三方库 认识第三方库 第三方库就是别人已经实现好了的库, 我们可以拿过来直接使用. 虽然标准库已经很强大了, 但是终究是有限的. 而第三方库可以视为是集合了全世界 Python 程序猿的智慧, 可以说是几乎无穷无尽. 问题来了, 当我们…

Linux驱动入门-最简单字符设备驱动(基于pc ubuntu)

一.字符设备驱动概念 字符设备是 Linux 驱动中最基本的一类设备驱动&#xff0c;字符设备就是一个一个字节&#xff0c;按照字节流进行读写操作的设备&#xff0c;读写数据是分先后顺序的。比如我们最常见的点灯、按键、 IIC、 SPI&#xff0c;LCD 等等都是字符设备&#xff0…

公共管理老师赴英国G5名校-伦敦大学学院CSC公派访学

CSC青年骨干教师项目的实施院校一般都要求申请人提前上报邀请函等申请材料&#xff0c;以进行校内遴选。为提升竞争优势&#xff0c;A老师希望能获得英国名校的邀请函。最终我们为其申请到英国G5名校之一的伦敦大学学院&#xff0c;凭借该邀请函&#xff0c;A老师顺利通过了本校…

【2022年终总结】勇敢追梦,去和人生博弈

目录序言刚开始的1月松懈的2月忙碌的3月迷茫的4月开源项目的5月入职汇报的6月7月8月9月假期过后的10月至关重要的11月最后冲刺的12月2022年的总结2023年的目标往年回顾序言 在刚刚过完的平安夜和圣诞节之际&#xff0c;同时意味着2022年要画上一个句号。这一周算是比较煎熬的几…

高效的事件处理模式——Reactor、Proactor

IO模型 从理论上说&#xff0c;阻塞IO、IO复用和信号驱动IO都是同步IO模型。因为在这三种IO模型中&#xff0c;IO的读写操作&#xff0c;都是在IO事件发生之后&#xff0c;由应用程序来完成的。而POSIX规范所定义的异步IO模型则不同。对异步IO而言&#xff0c;用户可以直接对I…

ubuntu18.04安装docker和nvidia-docker2

ubuntu18.04安装docker和nvidia-docker 1、卸载旧版本的docker 旧版本的 Docker 被称为 docker、docker.io 或 docker-engine。 如果安装了这些&#xff0c;需要卸载它们&#xff1a; sudo apt-get remove docker docker-engine docker.io containerd runc2、 使用存储库安装…

聊一聊 SQLSERVER 的行不能跨页

一&#xff1a;背景 1. 讲故事 相信有很多朋友在学习 SQLSERVER 的时候都听说过这句话&#xff0c;但大多都是记忆为主&#xff0c;最近在研究 SQLSERVER&#xff0c;所以我们从 底层存储 的角度来深入理解下。 二&#xff1a;理解数据页 1. 数据页的组织 在前面的文章中我…

Vue2学习笔记(二):MVVM模型、数据代理

一、MVVM M(Model): 对应data中的数据 V(View): 也就是模板(template) VM(ViewModel): 对应Vue实例对象 大多数的前端框架都或多或少借鉴了MVVM模型&#xff0c;其中VM可以看做是View与Model中间的桥梁&#xff0c;它协助页面(View)和数据(Model)的展示。 二、数据代理 1.了…

JUC(十一)-线程池-ScheduledThreadPoolExecutor分析

ScheduledThreadPoolExecutor 分析 文章目录ScheduledThreadPoolExecutor 分析一、ScheduledThreadPoolExecutor介绍二、ScheduledThreadPoolExecutor应用2.1 ScheduledThreadPoolExecutor 构造器2.2 ScheduledThreadPoolExecutor 应用代码三、ScheduledThreadPoolExecutor源码…

10多个LearnDash示例和演示:从这些在线教育网站获得灵感!

正在寻找真实的LearnDash示例来激发您自己的电子学习网站的灵感&#xff1f; LearnDash 是最受欢迎的 WordPress LMS 插件之一&#xff0c;约翰霍普金斯大学和 Collibra 等大型组织以及 Yoast 和 ProBlogger 等小型品牌都在使用它。 LearnDash在线教育网站定制 LearnDash是最…

基于FireBeetle 2 ESP32-E开发板的LVGL移植及传感器显示(Arduino+TFT_eSPI+LVGL)

目录项目介绍硬件介绍硬件结构说明LVGL移植综合实现功能展示项目总结&#x1f449; 【Funpack2-3】基于FireBeetle 2 ESP32-E开发板的LVGL移植及传感器显示 &#x1f449; CSDN-工程源文件 &#x1f449; Github-KafCoppelia/FireBeetle2_lvgl_sensors 项目介绍 本项目基于Fir…

蓝桥杯寒假集训第三天《灌溉》

没有白走的路&#xff0c;每一步都算数&#x1f388;&#x1f388;&#x1f388; 题目描述&#xff1a; 一个长方形块&#xff0c;在方形块的中间位置有给定的水管&#xff0c;这些水管在单位时间会往上下左右四个方向进行灌溉。问在给定的方块中&#xff0c;一定时间后&#…

PyCharm 发布了新版,支持最新 Python 3.11 和 PyScript 框架

通常而言&#xff0c;使用新潮的或者快速发展的技术&#xff0c;可能会挺有挑战性&#xff0c;你可能得经常阅读文档&#xff0c;才能熟悉新的语法、API 和协议。 PyCharm 2022.2 通过提供对 Python 3.11 的语言特性和新的 PyScript 框架的支持&#xff0c;能够帮助你完成这一…

代码随想录算法训练营day59|503.下一个更大元素II,42. 接雨水

503.下一个更大元素II 503. 下一个更大元素 II - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;单调栈 1. 单调递增栈&#xff1b;在遍历的过程中模拟走两边nums&#xff1b; class Solution {public int[] nextGreaterElements(int[] nums) {if(numsnull || num…

【MySQL】八,角色管理

创建角色 引入角色的目的是方便管理拥有相同权限的用户。恰当的权限设定&#xff0c;可以确保数据的安全性。 语法 CREATE ROLE role_name[host_name] [,role_name[host_name]]...创建一个经理的角色 create role managerlocalhost;给角色赋予权限 创建角色之后&#xff0…

使用 npm link 测试本地编写的 node 模块 / 引入全局安装的 node 模块

目录 1. npm install VS npm install -g 2. npm install -g 的本质&#xff1f;映射脚本的作用&#xff1f; 3. 如何测试使用未发布的 npm 包&#xff1f;npm link 原理&#xff1f; 4. link 到项目 4.1 全局 link 4.2 解除 link 4.3 link 到项目有两种情况&#xff08;…

ansible 第二天

要求&#xff1a; 安装并且配置ansible 1)安装和配置ansible以及ansible控制节点server.example.com如下&#xff1a; 2)创建一个名为/home/student/ansible/inventory的静态库存文件如下所示&#xff1a; 2.1)node1 是dev主机组的成员 2.2)node2是test主机组的成员 2.3)node1和…