SpringMVC入门案例及请求流程图(关于处理器或视图解析器或处理器映射器等的初步配置)

来源:互联网 发布:淘宝回收相机哪家可靠 编辑:程序博客网 时间:2024/06/05 01:04

SpringMVC简介:SpringMVC也叫Spring Web mvc,属于表现层的框架。Spring MVC是Spring框架的一部分,是在Spring3.0后发布的

Spring结构图

SpringMVC请求流程图

 

 

 

SpringMVC请求流程图语述:

request-------->DispatcherServler(中央调度器/前端控制器)-----> HandlerMapping(处理器映射器)------>返回一个执行链----->将执行链转交给HandlerAdaptor(处理器适配器)----->调度Handler(处理器)-----> ModelAndView----->先将结果交给HandlerAdaptor,然后再由HandlerAdaptor转交给 DispatcherServler--------->DispatcherServler调度ViewResolver(视图解析器)---->交给DispatcherServler-------> 寻找View---->View做出响应(response)

 SpringMVC的第一个入门案例

用户提交一个请求,服务器端处理器在接收到这个请求后,给出一条欢迎信息,在页面中显示。

第一步:导入jar包

在原有Springjar包基础上添加2个jar包

spring-webmvc-4.2.0.RELEASE.jar  作用:对Spring mvc的实现

spring-context-support-4.2.0.RELEASE.jar  作用:包含支持UI模板,邮件服务,缓存Cache等方面的类

分析配置步骤:

1.在web.xml中配置前端控制器

2.处理器映射器(HandlerMapping)

3.处理器适配器 (HandlerAdaptor)

4.处理器

5.视图解析器(ViewResolver)

 注册中央调度器

关于urlpattern的说法:

最好配成*.do

不能配成/*             无法访问*.jsp等动态资源

最好也不要配成/      无法访问静态资源

不得不配成/           Restful编程 rest

问题:/*配法出现404问题

解释:Ⅰ:不能配置为/*

DispatcherServlet会将向动态页面请求,即向jsp页面的跳转请求也当做是一个普通的Controller请求。

中央调度器会调用处理器映射器为其查找相应的处理器。当然是找不到的。jsp页面会报404错误 结论:/*会拦截动态资源

Ⅱ:方案一:使用Tomcat默认的Servlet解决

不得不配成/  解释:上图中:红色标注第三中配置

方案二:使用MVC的default-servlet-handler

会将对静态资源的访问请求通过HandlerMapping映射到默认Servlet请求处理器DefaultServletRequestHandler对象。而该处理器调用了Tomcat的DefaultServlet来处理静态资源的访问请求。当然需要引入mvc约束

方式三:使用MVC的resource解决

在Spring3.0.4之后,Spring定义了专门用于处理静态资源请求的处理器ResourceHttpRequestHandler。并且添加了<mvc:resources/>标签,专门用于解决静态资源无法访问问题。

Location:静态资源所在目录 mapping: 对资源的请求 注意:需要Tomcat7支持

配置中央调度器代码

定制处理器:

定制处理器

jsp页面搭建:

index.jsp页面

大配置中:注册处理器和视图解析器

 访问页面:

 配置式开发--BeanNameUrlHandlerMapping

配置式开发--SimpleUrlHandlerMapping

applicationContext.xml大配置文件

0 0
原创粉丝点击