美文网首页
SpringMVC的使用

SpringMVC的使用

作者: 每天进步一一点 | 来源:发表于2018-04-25 17:55 被阅读0次

    虽然一直在使用SpringMVC,但是对更多的理解还是知道的很少,也看了许多SpringMVC的工作原理,包括dispathServlet,handler,handlerMapping,如何解析view的,dispathServlet如何初始化的东西,也看了很多,但是对理解层面还是知道的很少,在此,先从如何使用做一个深刻的了解,记录知道的和不知道的SpirngMVC的功能,遇到新的就自动增加,也是给自己一个记录的成长吧。。

    SpringMVC的常用注解:

    @Controller:带注解类的"控制器",分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解

    @RequestMapping 注解为控制器指定可以处理哪些 URL 请求

    //method:可以处理请求是get或者post

    @RequestMapping(value ="/detail", method = {RequestMethod.POST,RequestMethod.GET})

    //path可以和PathVariable将其与URI模板中的参数绑定起来:

    @RequestMapping(path ="/detail/{id}", method = {RequestMethod.POST,RequestMethod.GET})

    public string test(@PathVariable string id)

    @MatrixVariable:矩阵变量,你必须把RequestMappingHandlerMapping类的removeSemicolonContent属性设置为false。该值默认是true的。

    //consumes :是可消费的媒体类型,只有当请求头中 Content-Type 的值和我们输入的值相等时候使用

    //produces :可生产媒体类型;这样只有当请求头中 Accept 的值与指定可生产的媒体类型中有相同的时候,请求才会被匹配

    //params:请求值匹配,缩小范围

    // headers:请求头匹配

    @RequestMapping(path ="test/{id}", method = RequestMethod.GET,consumes ="aa/aa")

    @RequestBody需要接的参数是一个string化的json

    @ResponseBody:类是string类型,返回的json

    @RestController:创建REST控制器,它结合了@ResponseBody与@Controller注解的功能

    @ModelAttribute:注解可被应用在方法或方法参数上

    如果放在方法上,会首先去执行该方法,一般会用做公共方法的提取,或者也可以当拦截器使用

    @ModelAttribute

    public String test(){

    return "test" ;

    }

    @ModelAttribute("entity"):在方法上也可以有值,然后根据对应的值,去寻找对应的实体

    public ModelAndView save(HttpServletRequest request,@ModelAttribute("entity")@Valid BillBoard entity, BindingResult result)throws Exception

    BindingResult被用于记录数据绑定过程的错误

    @SessionAttributes:类级别的,HTTP会话保存模型数据

    @CookieValue:注解能将一个方法参数与一个HTTP cookie的值进行绑定。

    @RequestHeader:注解能将一个方法参数与一个请求头属性进行绑定

        Accept               

        Accept-Language        

        Accept-Encoding    

        Accept-Charset        

        Keep-Alive        

    public void test(@RequestHeader("Accept-Encoding")String encoding, @RequestHeader("Keep-Alive")longkeepAlive){//...}     

    @InitBinder:解决类型转换的问题

    @ControllerAdvice:辅助控制器,很多时候配合@ExceptionHandler处理异常(具体还要例如辅助modelAttribute)

    接下来会具体讨论使用

    参考:http://7xvpsh.com1.z0.glb.clouddn.com/publish/21-3/4-asynchronous-request-processing.html翻译的文档

    相关文章

      网友评论

          本文标题:SpringMVC的使用

          本文链接:https://www.haomeiwen.com/subject/hncylftx.html