发表于: 2018-03-17 23:52:24

1 729


今天完成的事情:

1.springMVC中的组件。

  • 1.1DispatcherServlet:前端控制器 (不需要自己写)
    用户请求到达前端控制器,它就相当于mvc模式中的c,DispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet的存在降低了组件之间的耦合性。
  • 1.2HandlerMapping:处理器映射器 (不需要自己写)
  • HandlerMapping负责根据用户请求找到Handler即处理器Controller,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等,注解方式用的最多但是刚开始不太好理解。
  • 1.3Handler:处理器就是Controller(需要根据业务需求写)
  • Handler是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。由于Handler涉及到具体的用户业务请求,所以一般情况需要程序员根据业务需求开发Handler。
  • 1.3HandlAdapter:处理器适配器 (不需要自己写)
  • 通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。
  • 1.5ViewResolver:视图解析器 (不需要自己写)
  • ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。
  • 1.6View:视图 (需要开发jsp)
  • SpringMVC框架提供了很多的View视图类型的支持,包括:jstlView、freemarkerView、pdfView等。我们最常用的视图就是jsp。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。
  • 2.
  • web.xml是web项目的入口,在这个文件中定义了springMVC的中的前端控制器DispatcherServlet。
  • servlet标签就是用来定义前端控制器的。servlet-name是给DispatcherServlet类自定义的对象名,以后这个项目中的前端控制器就叫springmvc,名称随便取,不过一般取些与项目相关的名称。class-name就是要使用的servlet的类。init-param是初始化参数,这里用来指定servlet的配置文件的路径的,在程序运行时会更加这个文件得到一个个性的DispatcherServlet的实例对象供项目使用。load-on-startup元素标记容器是否应该在web应用程序启动的时候就加载这个servlet(实例化并调用其init()方法)。它的值必须是一个整数,表示这个servlet被加载的先后顺序,如果是负数或没有设置,则容器会当Servlet被请求时在加载,如果时正整数或0,表示容器在应用启动时就加载并初始化这个servlet,值越小优先级越高,就越先被加载,值相同时,容器就会自己选择加载顺序。
    servlet-mapping表示之前定义的前端控制器的映射器,会将用户的请求URL映射到某个Controller并把这个执行链返回个前端控制器。里面的name必须时前端控制器的名字。url-patten映射路径,指定相对于Servlet的URL的路径。该路径相对于web应用程序上下文的根路径。

前端控制器会接受用户的请求,并将请求传递给处理器映射器,映射器将执行链返回,Servlet再将这个链给处理器适配器,它会找到相应的Controller执行,返回一个ModleAndView给适配器,再传递给控制器,之后控制器传给视图解析器,返回View给控制器,再传递给一个处理的组件,返回view处理结果给控制器,再返回给用户。

明天的计划:

搭建SSM框架。

遇到的问题:

ModelAndView中的信息想要用jsp文件来显示出来但是没找到理想的教程。

收获:

springMVC各组件的作用都熟悉了用配置文件的方法做了springmvc,请求的响应流程。


返回列表 返回列表
评论

    分享到