SpringMVC配置文件
Web.xml
核心拦截器以及配置文件的路径
加载spring容器
编码过滤器
url-pattern配置讲解
在 servlet 和 filter 中我们都需要配置 url-pattern,但这个配置的解析规则有哪几种我们接下来就详细的说一下。
1、精确匹配:如 /xxx.html 就只会匹配 xxx.html。
2、路径匹配:如 /xxx/ 会匹配以 xxx 为前缀的 url。
3、后缀匹配:如 .html 会匹配所有以 html 为后缀的 url。
但是对于 url-pattern 的匹配来说可能会存在冲突的情况,这种情况下就需要排个优先级了,以上三者的优先级为 精确匹配 > 路径匹配 > 后缀匹配 。
Spring-MVC.xml
MVC的注解驱动
Bean模式
标签模式
视图解析器
最简单的配置
原理解析:
概述
装配:无论请求处理方法的返回值类型是String、View或ModelMap,SpringMVC均会将其装配为ModelAndView对象,其包含逻辑视图的名称和模型对象信息。
解析:SpringMVC借助视图解析器(ViewResolver)获取最终的物理制图对象,其可以是JSP页面、Excel或JFreeChart等各种表现形式的视图。
视图
其中,常用的视图实现类主要有:
视图解析器
视图解析器的主要作用是将逻辑视图解析为具体的物理视图对象,可以在Spring WEB上下文中配置一种或多种解析策略,并指定其先后顺序;所有的视图解析器都必须实现ViewResolver接口。
其中,常用的视图解析器实现类主要有:
说明:每个视图解析器均实现了Ordered接口,可通过其order属性指定解析器的优先顺序,order越小优先级越高;SpringMVC会按视图解析器的顺序对逻辑视图进行解析,直到解析成功并返回视图对象,否则将抛出ServletException异常。
InternalResourceViewResolver
JSP是最常见的视图技术,可以使用InternalResourceViewResolver作为视图解析器,SpringMVC会将逻辑视图解析为InternalResourceView对象。
JstlView
若在WEB-INF/lib目录下添加jstl.jar,则SpringMVC会自动将视图由InternalResourceView转为JstlView。其中,使用JSTL的fmt标签则需要在SpringMVC的配置文件中配置国际化资源文件:
mvc_view-controller标签
若希望直接响应通过SpringMVC渲染的页面,而不经过目标方法,可以在Spring的Bean配置文件中使用mvc_view-controller标签来实现。
自定义视图
第一步:创建自定义视图类,继承于View,并将其配置到IoC容器中;
第二步:在SpringMVC的配置文件中,配置BeanNameViewResolver视图解析器,并配置其优先级;
第三步:在处理器中编写目标方法,其返回值对应自定义类的BeanName;
第四步:在index.jsp页面正常使用,即请求springmvc/testView即可。 \
Excel视图
希望使用Excel展示数据列表,仅需要扩展SpringMVC提供的AbstractExcelView或AbstractJExcelView,实现其buildExcelDocument()方法,并在方法中使用模型数据对象构建Excel 文档即可。其中,AbstractExcelView是基于POI API的,而AbstractJExcelView是基于JExcel API的。 视图对象需要配置为IOC 容器中Bean,即需要使用BeanNameViewResolver作为视图解析器。若希望在浏览器中直接下载Excel文档,则可以设置其响应头Content-Disposition的值为attachment;filename=xxx.xls。
重定向
一般情况下,控制器目标方法返回字符串类型的值会被当成逻 辑视图名来处理;但如果返回的字符串中带“forward:”或“redirect:”前缀时,SpringMVC 会对其进行特殊处理,即将“forward:”或“redirect:”当成指示符,其后的字符串作为URL来处理。
注意:SpringMVC的实现流程具体可参考UrlBasedViewResolver类的createView(String, Locale)方 h
类型转换
转换器自主要用来定义一些 数据之间的转换,比如日期与字符串格式的日期之间的转换
自定义Converter
1,创建爱你Converter
2,配置Converter(第一种)
2,配置Converter(第二种,补偿用)
校验器Validation
配置
代码
拦截器nterceptors
配置
代码
视图解析器View Resolvers
MVC 命名空间提供专用元素。例如与 FreeMarker:
静态资源Static Resources
默认的Servlet。静态资源处理
一般Web应用服务器默认的Servlet名称是"default",因此DefaultServletHttpRequestHandler可以找到它。如果你所有的Web应用服务器的默认Servlet名称不是"default",则需要通过default-servlet-name属性显示指定:
混合视图Path maching
领取专属 10元无门槛券
私享最新 技术干货