发表于: 2019-11-23 22:37:16

1 1097


今天完成的事情:学习接口规范 写CRUD的接口文档

springmvc学习

springmvc原理:


组件及其作用

  • 前端控制器(DispatcherServlet):接收请求,响应结果,相当于转发器,中央处理器。减少了其他组件之间的转换度
  • 处理器映射器(HandlerMapping):根据请求的url查找Handler
  • 处理程序处理器:按照HandlerAdapter的要求编写
  • 处理器适配器(HandlerAdapter):按照特定规则(HandlerAdapter要求的规则)执行Handler。
  • 透视解析器(ViewResolver):进行视图解析,根据逻辑视图解析成真正的视图(View)
  • 透视(View):View是一个接口实现类试吃不同的ViewType(jsp,pdf等)

步骤:

  • 1.启动请求到前端控制器(DispatcherServlet
  • 2.前端控制器请求处理器映射器(HandlerMapping)查找Handler(可根据xml配置,注解进行查找)
  • 3.处理器映射器(HandlerMapping)向前端控制器返回Handler
  • 4.前端控制器调用处理器适配器(HandlerAdapter)执行Handler
  • 5.处理器适配器(HandlerAdapter)去执行Handler
  • 6.Handler执行完,给适配器返回ModelAndView(Springmvc框架的一个折叠对象)
  • 7.处理器适配器(HandlerAdapter)向前端控制器返回ModelAndView
  • 8.前端控制器(DispatcherServlet)请求视图解析器(ViewResolver)进行视图解析,根据逻辑视图名解析成真正的视图(jsp)
  • 9.视图解析器(ViewResolver)向前端控制器(DispatcherServlet)返回View
  • 10.前端控制器进行视图渲染,即将模型数据(在ModelAndView对象中)填充到request域
  • 11.前端控制器向用户响应结果


new->project->maven,建一个裸的maven工程,手动建webapp的目录

src/main下新建文件夹webapp

pom.xml文件

添加依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.2.4.RELEASE</version>
</dependency>

加上下面的标签会生成Artifacts

<packaging>war</packaging>

build标签的finalName要和Artifacts的output directory一致

<build>
    <finalName>springmvc-2nd-1.0-SNAPSHOT</finalName>
</build>

配置文件

*配置前端控制器

web.xml

  • 配置Handler

将编写Handler在spring容器加载

  • 配置处理器映射器

在classpath下的springmvc.xml中配置处理器映射器


  • 置处理器适配器

所有处理器适配器都实现了HandlerAdapter接口

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter">

源码:

public boolean supports(Object handler) {        return handler instanceof Controller;
}

此适配器能执行实现Controller接口的Handler

  • 配置视图解析器

需要配置解析jsp的视图解析器

在springmvc.xml中视图解析器配置前缀和后缀:

遇到两个问题

HTTP Status 404 - 处理器映射器根据url找不到Handler,说明url错误

HTTP Status 404 -/springmvc/WEB-INF/jsp/items/itemsLists.jsp 处理器映射器根据url找到了Handler,转发的jsp页面找不到

明天计划的事情:springmvc搭建完 推进任务二

收获:搭建springmvc  springmvc概念流程 接口规范


返回列表 返回列表
评论

    分享到