springMvc简单总结
发布日期:2021-11-13 10:21:35 浏览次数:4 分类:技术文章

本文共 1371 字,大约阅读时间需要 4 分钟。

springMvc框架:

        前台:request。

          DispatcherServlet:前端控制器:接受request,返回response。

        HandlerMapping:处理器映射器,根据Url查找handler(xml配置和注解方式)。

           HandlerAdapter:处理器适配器,根据特定规则去执行handler,编写handler按照HandlerAdapter的规则去编写。

           Hanler处理器:需要程序员去编写(后端控制器),常用注解开发方式

           Handler处理器返回的结果是ModelAndView,实际开发中handler返回值类型包括ModelAndView,String(逻辑视图名),void(在handler形参中添加request和response,类似于原始servlet开发方式)。

           View resovler:视图解析器,根据逻辑视图生成真正的视图(在springMvc中用View对象表示)。

           View视图:jsp等页面,没有逻辑,仅是数据的展示。

注解开发:

        在spring-mvc.xml中配置:

实际开发中,使用mvc注解驱动标签代替

使用<mvc:annotation-driven></mvc:annotation-driven>代替上图中的配置。

@Controller注解(类名之前):声明此类是一个handler处理器。

@RequestMapping:作用:

        ①:对url和handler的方法进行映射。

        ②:可以窄化请求映射,设置handler的根路径,请求的url就是根路径+子路径的请求方式。

        ③:可以限制http的请求方法(get/post)。

映射成功后。springmvc会生成一个handler对象,对象中只包括一个映射成功的方法。

注解开发参数绑定

        将request请求的key/value形式的数据(可以理解为一个串),通过转换(参数绑定的一部分)转换为形参类型,将转换后的数据传递给形参。这是整个的参数绑定过程。

       springmvc支持的参数绑定:

                  ①默认支持很多类型:request/response/session/

                  model/modelMap(将model数据填充到request域)

                  ②简单数据类型:string,int,date等....

                         只要保证请求的参数名和形参名称一致,即可完成映射。

                         如果两者不一致但要映射,可以在形参前加@requestParam(指定请求的参数名)

                  ③支持pojo类型:只要保证请求的参数名和pojo中的属性名称一致,springmvc就能够自动的将             request请求的参数值设置到pojo属性值中。

                  注意:形参中既有pojo又有简单类型不影响参数绑定

                  ④复杂pojo类型(pojo类中有pojo属性):前台页面参数名称使用ognl形式的名称定义即可完成映射。

                  ⑤自定义参数绑定:

                          自定义converter<源类型,目标类型>接口的实现类,类中实现相应的数据转换。

                          将自定义的converter实现类注入到处理器适配器中

springmvc与Struts2的区别:

      springmvc是面向方法开发(更接近于service的开发方式),Struts2是面向类开发.

       springmvc能够单例开发,Struts2只能多例开发.

转载地址:https://blog.csdn.net/Lee_Ho_/article/details/72903412 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Springmvc全局异常
下一篇:Maven学习第三节---继承特性

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年03月19日 07时42分27秒