• SpringMVC介绍


    1. SpringMVC执行流程 ★

     

    Spring MVC主要由DispatcherServlet处理器映射【找控制器】、适配器【调用控制器的方法】、控制器【业务】、视图解析器视图组成。

    (1) 客户端请求提交到 DispatcherServlet控制器。
    (2) 由 DispatcherServlet 控制器查询一个或多个 HandlerMapping,找到处理请求的Controller
    (3) DispatcherServlet 将请求提交到 Controller。
    (4)(5)调用业务处理和返回结果:Controller 调用业务逻辑处理后,返回 ModelAndView
    (6)(7)处理视图映射并返回模型: DispatcherServlet 查询一个或多个 ViewResoler 视图解析器,找到 ModelAndView 指定的视图。
    (8) Http 响应:视图负责将结果显示到客户端。 
     
    2. SpringMVC 和 Struts区别

     ① 实现: Struts2是基于过滤器实现的。Springmvc基于servlet实现。

     ② 速度: Servlet比过滤器快。

      ③ 单例/多例: Struts2是多例,每一次请求,都会创建一个Action对象请求来了以后,struts2创建多少个对象:ActionContext,valuestack,UAction,ActionSuport,ModelDriven。Springmvc是单例。同一个Controller请求,只会创建一个Controller。

      ④ 参数封装:Struts基于属性进行封装,Action有参数属性。Springmvc基于方法封装,参数是写在Controller的方法。

    3. ResponseBody、RequestBody

      @ResponseBody把后台pojo转换json对象,返回到页面。

      @RequestBody接受前台json数据,把json数据自动封装javaBean。

     
    4. PathVariable、RequestParam、Param
      @PathVariable用于请求URL模板中的变量作为参数。

    @RequestMapping(value="/com/{uid}", method=RequestMethod.GET)
    public List<Map<String, Object>> getUser(@PathVariable("uid") Integer id) {
    return userService.getUserById(id);
    }

      @RequestParam主要用于接受请求带的参数。类似于一种request.getParameter("name");
    @RequestMapping(value="/com", method=RequestMethod.POST)
    public List<Map<String, Object>> getUser(@RequestParam("id") Integer id) {
        return userService.getUserById(id);
    }

       PathVariable有value,name,required这三个参数,而RequestParam也有这三个参数,并且比PathVariable多一个参数defaultValue(该参数用于当请求体中不包含对应的参数变量时,参数变量使用defaultValue指定的默认值)。

      @Param是MyBatis所提供的(org.apache.ibatis.annotations.Param),作为Dao层的注解,作用是用于传递参数,从而可以与SQL中的的字段名相对应,一般在2=<参数数<=5时使用最佳。
    public List<Role> findRoleByAnnotation(@Param("roleName") String roleName, @Param("note") String note);
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    java中栈内存和堆内存的简单理解
    java中构造函数与一般函数的区别

    另一部漫画
    海边的卡夫卡
    11-12
    这篇大概值一百万吧
    我的千岁寒
    11-9
    嗯……………股票已经涨的我不想上班了
  • 原文地址:https://www.cnblogs.com/qmillet/p/12543669.html
Copyright © 2020-2023  润新知