重拾springmvc(二)

来源:互联网 发布:乳业大数据平台 编辑:程序博客网 时间:2024/05/01 23:26
  1. 首先挺忧伤的,今天刚开始尝试注解开发的时候,一直在报一个cacheBean无法加载。。。找了一两个小时的错误吧。。最后才发现是在spring文件里配了包扫描,但是在springmvc里没有配,spring和springmvc的bean如果分俩配置文件则没有通用。。。。
  2. 接下来就是捣鼓了一下一个注解示例,@controller @requestMaping,mvc:annotation-driven这些基本的,也没啥。
  3. 然后是restful,记得上一次看的时候不怎么感冒,工作中一直也没用就没管他,这次再看视频接受挺快的,,,一下就知道是怎么回事。
    @RequestMapping("/urlRever/{id}")    public  String urlRever(@PathVariable String id){        System.out.println(id);        return "1";    }

这样子。将传参写入url链接里面(一个比较粗浅的认识),然后在方法参数里加入@pathVariable 注解(名字起的好,顾名思义,路径可有参的)。这里琢磨了好久的是如何用angular发送restful的请求呢。。也是捣鼓了好久,最后像下面这样

  var rever=$resource("/SpringMvcAno/rest/ano/urlRever/:id",{          id:'@id'      });      rever.save({},{"id":"你好"},function (success) {          console.log(success);      },function (error) {          console.log(error);      });

emmm更加重要的是web中的dispatch的配置,

 <servlet-mapping>        <servlet-name>dispatcher</servlet-name>        <url-pattern>*.do</url-pattern>    </servlet-mapping>    <servlet-mapping>        <servlet-name>dispatcher</servlet-name>        <url-pattern>/rest/*</url-pattern>    </servlet-mapping>

要接受restful请求这是必不可少的(主要就是为了没有。do 。action这种拓展名)

4.这里再点一下springmvc的重定向和转发
转发:

public string forward(){    return "forward:/user/test.do";}

重定向:
public string redirect(){
return “redirect:/user/test.do”;
}
同一个controller可以省略根路径即test.do即可

5.还有一个jsp下的springmvc回显数据(model相当于applicationContext)
这里写图片描述
这里写图片描述

requestParam
value:参数名字,即入参的请求参数名字,如value=“studentid”表示请求的参数区中的名字为studentid的参数的值将传入;
required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报400错误码;
defaultValue:默认值,表示如果请求中没有同名参数时的默认值
定义如下:
public String userlist( @RequestParam(defaultValue=”2”,value=”group”,required=true) String groupid) {
}
形参名称为groupid,但是这里使用value=”group”限定参数名为group,所以页面传递参数的名必须为group。这里通过required=true限定groupid参数为必需传递,如果不传递则报400错误,由于使用了defaultvalue=”2”默认值即使不传group参数它的值为”2”,所以页面不传递group也不会报错,如果去掉defaultvalue=”2”且定义required=true则如果页面不传递group则会报错。