前端控制器 DispatcherServlet 中心
同时整个S平日那个MVC的中心,,,,由他来调用其他组件处理用户的请求
它存在的作用是为了降低组件之间的耦合性
基本点1 : HandleMapping 处理器映射器
目的是的负责用户的url请求,找到Handle处理器
@RequestMapping采用注解是目前期耶中最流行的方式
Handle处理器
Habdle是继前端控制器的后端控制器,再前端的调配之下,Handle对具体的用户请求解析处理
所以一般来说,Handle处理器一般都是处理业务的请求之下,由开发人员完成
基本点2:HandleAdapter 处理器适配器
通过HandleAdapter,,,,通过HandleAdapter 对处理器进行解析执行,主要是一种适配器模式的匹配
基本点3:ViewResovler 视图解析器
负责将处理结果生成View视图
View视图组件
在SpringMVC各个组件中,处理器适配器,处理器映射器,视图解析器 认为是SpringMVC的三大组件,需要用户开发的组件 Handle和view
现在开始配置相关的组件
1.配置处理器适配器和处理器映射器
我这里直接将简单方式一下吧两个都配置了
<mvc:annotation-driven/>
2.配置视图解析器
<!--配置视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view"/><!--前缀:免得每次写页面都要写一大堆-->
<property name="suffix" value=".jsp"/><!--后缀: 提取后面相同的部分,后面的就可以不用写了-->
</bean>
3,url路由匹配
<servlet-mapping>
<!--
url-pattern
完全匹配==== /listRoles
目录匹配==== /role/listRoles
缺省匹配==== / 可以拦截静态资源,意思就是静态资源不加载
匹配所有==== /*
扩展名匹配== / *.action *.do *.zkl 推荐使用扩展名(.action)
-->
<url-pattern>*.action</url-pattern><!--扩展名匹配:所以我们在写页面的手后面都要加一个.action也可以不写-->
<url-pattern>/</url-pattern><!--缺省匹配 次要的拦截静态资源-->
</servlet-mapping>
4.静态资源放行:前提是上面的url路由匹配是缺省匹配
1.方式一: 前端控制器,对于tomcat服务器内部有单独的处理方式,它才用的是静态资源放行,如果想要使用tomcat对缺省配置进行处理,需要开启
2.方式二: 通过配置手动的放行映射关系
location:映射应用当中的具体静态资源的加载路径
mapping:服务器的映射路径,就是url上面写的路径
两种方式的代码
<!--静态资源放行-->
<!--方式一:采用tomcat内置的默认处理方式 -->
<mvc:default-servlet-handler/><!--开启tomcat的缺省配置处理方式-->
<!--方式二:手动映射:通过手动配置,运行某一些包下面的web页面允许静态资源加载-->
<!--/img/** 表示img文件夹下的资源和它下面子文件的资源-->
<mvc:resources mapping="/img/**" location="/img/"/>
<mvc:resources mapping="/css/**" location="/css/"/>
<mvc:resources mapping="/js/**" location="/js/"/>
<mvc:resources mapping="/lib/**" location="/lib/"/>