广西建设教育协会网站深圳百度关键词排名
- DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,用户发出请求,DispatcherServlet接收请求并拦截请求
- HandlerMapper为处理器映射。DispatcherServlet调用。HandlerMapping根据请求url查找Handler
- HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器。
- HandlerExecution将解析后的信息传递给DispatcherServlet,如解析控制器映射
- HandlerAdapter表示处理器适配器,按照特定的规则去执行Handler
- Handler让具体的Controller执行
- Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView
- HnadlerAdapter 将视图逻辑名或模型传递给DispatcherServlet
- DispatcherServlet调用视图解析器来解析HandlerAdapter传递的逻辑视图名
- 视图解析器将解析的逻辑视图名传给DispatcherServlet
- DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图
- 最终视图呈现给用户
SSM=javaweb做项目
Spring =IOC +AOP
在写项目的过程中,注意检查是否引入mvc依赖,以及两个约束文件
注意记得DispatcherServlet要绑定SpringMVC的配置文件
在编写Springmvc的配置文件时,【三个很重要的部分】
- 添加处理器映射器
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
- 添加处理器适配器
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
- 添加视图解析器
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean>
[其他模板引擎 thymeleaf]
注意BeanNameHandlerMapping 这个处理器需要根据bean的名字来找,所以要进行手动配置
以下使用注解开发Springmvc 保留视图解析器 添加自动扫描包,让注解生效,由IOC容器进行统一管理
***<!--自动扫描包,让指定包下的注解生效,由IoC容器统一管理 -->***<context:component-scan base-package="com.demo.Controller"/><!--设置不然Springmvc处理静态资源 --><mvc:default-servlet-handler/><!--支持mvc注解驱动 在Springmvc中一般**采用@RequestMapping注解来完成映射关系**要想使该注解生效,必须向上下文中注册@DefaultAnnotationHandlerMapping和一个AnnotationMethodHandlerAdapter实例让这两个实例分别在类级别和方法级别处理 而innotation-driven配置帮助我们自动完成上述两个实例的注入--><mvc:annotation-driven/><!--视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="WEB-INF/jsp/"></property><property name="suffix" value=".jsp"></property></bean>
@Controller是为了让Spring IOC容器初始化时自动扫描到
主要实现步骤:
- 编写web.xml,注册DispatcherServlet
- 编写springmvc配置文件
- 创建对应的控制类