即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

springMvc极简深度总结

编程语言 Lee_Ho_ 86℃ 0评论

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注解驱动标签代替

使用代替上图中的配置。

@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只能多例开发.





转载请注明:CodingBlog » springMvc极简深度总结

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情