SSM项目之商铺系统(九) 店铺注册之Controller的实现

本文介绍了在SSM项目中实现店铺注册功能的Controller部分,包括Maven依赖、工具类HttPServletRequestUtil的封装,以及如何处理前端传来的JSON数据和图片,将它们存储到数据库。Controller层通过调用Service接口处理业务流程,特别地,对于图片处理,利用CommonsMultipartFile转换为File,并结合Thumbnailator处理输入流,确保服务层单元测试的便捷性。
摘要由CSDN通过智能技术生成

Maven依赖

<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-databind</artifactId>
	<version>2.8.7</version>
</dependency>

封装工具类HttPServletRequestUtil

方法功能:通过前端注册店铺传入的json数据,将其转为shop类型,并且接受图片,然后存入数据库中去

Controller层与View层密不可分,需要接受View层传递过来的信息,我们使用SSM框架的话,传递的请求信息都存在HttpServletRequest中。 因此需要先封装一个工具类来获取HttPServletRequest中的值。

Controller层负责具体的业务模块流程的控制,在此层里面要调用Serice层的接口来控制业务流程。

新建一个前端请求转为各种类型的工具类

在这里插入图片描述

package storepro.util;
 
import javax.servlet.http.HttpServletRequest;
 
//将前端传来的String值解析为相应的值,因为前端无论什么类型都传String
public class HttpServletRequestUtil {
   //通过前端传来的key值进行转换,这个key值通过前端设定好,我们后台直接去取出
 
    public static int getInt(HttpServletRequest request, String key) {
   //操作前端传来的int值
        try {
   
            return Integer.decode(request.getParameter(key));
        } catch (Exception e) {
   
            return -1;
        }
    }
 
    public static Long getLong(HttpServletRequest request, String key) {
   //操作前端传来的Long值
        try {
   
            return Long.valueOf(request.getParameter(key));
        } catch (Exception e) {
   
            return -1L;
        }
 
    }
 
    public static Double getDouble(HttpServletRequest request, String key) {
   //操作前端传来的double值
        try {
   
            return Double.valueOf(request.getParameter(key));
        } catch (Exception e) {
   
            return -1d;
        }
 
    }
 
    public static Boolean getBoolean(HttpServletRequest request, String key) {
   //操作前端传来的boolean值
        try {
   
            return Boolean.valueOf(request.getParameter(key));
        } catch (Exception e) {
   
            return false;
        }
 
    }
 
    public static String getString(HttpServletRequest request, String key) {
   //操作前端传来的Stirng值
        try {
   
            String result = request.getParameter(key);
            if (request != null) {
   
                result = result.trim();
            }
            if ("".equals(result)) {
   //如果字符串为空
                result = null;
            }
            return result;
        } catch (Exception e) {
   
            return null;
        }
 
    } 
}

Controller控制层编写

新建一个controller类

在这里插入图片描述

@Controller//注解它是一个controller
    @RequestMapping("/shopadmin")//根url
public class ShopManagementController {
   
    @Autowired
    private ShopService shopService;
    @Autowired
    private ShopCategoryService shopCategoryService;
    @Autowired
    private AreaService areaService;
 
    @RequestMapping(value="/registershop",method = RequestMethod.POST)
    @ResponseBody//作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据
   /*
   * 注册商铺提交后转到的url
   * 对提交的数据进行处理
   * */
    private Map<String,Object
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值