zoukankan      html  css  js  c++  java
  • springmvc 基础

    在最简单的springmvc应用程序中,控制器是唯一需要在java web部署描述文件(web.xml)中配置的servlete(springmvc的控制器是Dispatcher Servlet)。每个web的生命周期必须通过Dispatcher Servlet以便管理整个请求的生命周期。

    工作流程:

    1.用户发送请求request,请求别DispatcherServlet获取

    2.DispatcherServlet对URL进行解析调用HandlerMapping,HandlerMapping将会请求映射为HandlerExecutionChain对象(包括

    Handler(页面控制器对象)和多个HanderInterceptor拦截器)、返回给DispatcherServlet

    3.DispatcherServlet将Handler给HanderAdapter(处理器适配器)

    4.handlerAdapter适配到相应的处理方法(Controller)完成功能处理,并且返回一个ModelAndView对象给DispatcherServlet

    5.DispatcherServlet将ModelAndView交给VievResolver(视图解析器),解析为具体的View,并返回

    6.然后Dispatcher根据穿进来的Model模型数据对View进行渲染,此处的Model实际是一个Map数据结构

     因此更容易支持其他视图技术

    7.返回控制权给DispatcherServlet,由DispathcerServlet返回相应用户,到此结束流程

    springmvc常用注解:

    @Controller声明action组件

    @Service声明Service组件

    @Repository声明Dao组件

    @Component  泛指组件,当不好归类时

    @RequestMapping(“/index”) 请求映射(url路径)

    @Resource  用于注入(j2ee提供),默认按照名称注入@Resource(name="beanName")

    @AutoWired用于注入(spring提供) 默认按照类型装配

    @Transactional(rollbackFor={Exception.clas})事务管理

    @ResponseBody 表示返回类型将会直接作为HTTP响应字节

    @Scope(“prototype”)  设定bean的作用域

    @PathVariable  方法中的参数绑定到地址URL的模板

       例如:

    Java代码  
    @RequestMapping(value="/owners/{ownerId}", method=RequestMethod.GET)  
    public String findOwner(@PathVariable String ownerId, Model model) {  
      Owner owner = ownerService.findOwner(ownerId);    
      model.addAttribute("owner", owner);    
      return "displayOwner";  
    }  

    @RequestParam  @RequestParam包含3个配置 @RequestParam(required = ,value="", defaultValue = "") 
        required :参数是否必须,boolean类型,可选项,默认为true 
        value: 传递的参数名称,String类型,可选项,如果有值,对应到设置方法的参数 
        defaultValue:String类型,参数没有传递时为参数默认指定的值 

  • 相关阅读:
    pip相关工具使用小结
    PyCharm配置autopep8,自动格式化Python代码
    PyCharm运行Nosetests并导出测试报告
    Jenkins集成taffy进行自动化测试并输出测试报告
    Locust性能测试框架,从入门到精通
    浅谈如何打造一个安全稳定高效的容器云平台
    微服务治理平台的RPC方案实现
    这个需求我不接之事务的自动补偿
    微服务熔断隔离机制及注意事项
    容器化-Docker介绍
  • 原文地址:https://www.cnblogs.com/dashuai01/p/5285688.html
Copyright © 2011-2022 走看看