springMVC的传参和业务逻辑层的使用

本文介绍了SpringMVC中控制器的使用,强调了@Controller注解的重要性。详细阐述了包括匹配参数名、RequestParam、PathVariable、@RequestBody、@ResponseBody、传递List和表单序列化在内的7种参数传递方式。接着讨论了业务逻辑层(Service层),说明了@Service注解的作用,并解释了在使用JDK代理时接口和实现类的需求,以及@Resource和@Autowired注解的注入方式。
摘要由CSDN通过智能技术生成

一·springMVC 也就是controller层,在controller一定要在类上方标记@Controller

controller总的来说还是接收页面的请求。
7种传值的要求
第1种: name=“名称” 必须和 方法的参数名一致
第2种: 若name=“名称” 和参数名不一致,则使用@RequestParam(“name的名称”)
第3种: name=“名称” 必须和 实体类的属性名一致 因为参数是实体类
第4种: 使用url传递参数值 页面 delete/10.do @RequestMapping("/delete/{id}")方法的参数 @PathVariable(“id”) int id
第5种: 使用json,页面传递json格式的数据给Controller @RequestBody Controller传递json的数据给页面 @ResponseBody
第6种:传递List 值,批量删除
第7种:表单序列化,ajax方式提交表单

//第1种: name="名称" 必须和 方法的参数名一致
    @RequestMapping(value = "/index/m1",
    method = RequestMethod.POST)
    public String m1(String uname){
   
        System.out.println("参数值:"+uname);
        return "a";
    }
 // 第2种: 若name="名称" 和参数名不一致,则使用@RequestParam("name的名称") 
    @RequestMapping(value = "/index/m2",
            method = RequestMethod.POST)
    public String m2(@RequestParam("uu") String uname){
   
        System.out.println("参数值:"+uname);
        return "a";
    }
// 第3种: name="名称" 必须和 实体类的属性名一致 因为参数是实体类
    @RequestMapping(value = "/index/m3",
            method = RequestMethod.POST)
    public String m3(User user){
   
        System.out.println("参数值:"+user);
        return "a";
    }
    
// 第4种: 使用url传递参数值 页面 my/m4/10.do @RequestMapping("/my/m4/{id}")方法的参数 @PathVariable("id") int id 
//@PathVariable可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中
    @RequestMapping(value = "/my/m4/{id}",
            method = RequestMethod.GET)
    public String m4(@PathVariable("id") int uid){
   
        System.out.println("参数uid="+uid);
        return "a";
    }
   //  第5种: 使用json,页面传递json格式的数据给Controller @RequestBody Controller传递json的数据给页面 @ResponseBody 
    @RequestMapping(value = "/my/m5",method = RequestMethod.POST)
    @ResponseBody
    public User m5(@RequestBody User user){
   
        System.out.println("m5执行了");
        System.out.println("接收到了页面传递的json格式的值"+user);
        return new User("2","控制其中的用户名","控制器中的密码");
    }
    
  //第6种:传递List<Integer> 值,批量删除 
    @RequestMapping(value = "/my/m6",method = RequestMethod.POST)
    @ResponseBody
    public Boolean m6(@RequestBody List<Integer> idList){
   
        System.out.println("m6执行了");
        System.out.println("接收到了页面传递的json格式的值"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值