发表于: 2019-11-23 22:37:16
1 1095
今天完成的事情:学习接口规范 写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概念流程 接口规范
评论