Spring MVC 高级配置
2017-01-05 10:30
375 查看
谈谈IT 2017-01-02 06:44
我计划完成 50 到 100 篇有关 Spring 的文章,这是第十五篇。如果您对Spring和编程感兴趣,欢迎订阅我的头条号,也欢迎关注我的个人独立IT博客:谈谈IT,网址就是tantanit.com哦。
上一篇文章《Spring MVC的基础配置》中讲解了Spring MVC的基础配置,本文对应Spring in Action(Spring实战)第四版第七章中(7.1.1 Customizing DispatcherServlet configuration)的内容,将讲解如何自定义Spring
MVC的配置。
如同在上一篇文章所介绍的,任何继承了AbstractAnnotationConfigDispatcherServletInitializer的类都会自动被用来在应用程序DispatcherServlet上下文中配置DispatcherServlet和其它应用上下文。AbstractAnnotationConfigDispatcherServletInitializer定义了三个抽象方法,getServletMappings,getServletConfigClasses以及getRootConfigClasses,分别定义默认的servlet映射、DispatcherServlet上下文配置文件以及其它(中间层和后端)应用上下文配置文件。继承了AbstractAnnotationConfigDispatcherServletInitializer的类必须实现这三个方法。
使用customizeRegistration配置文件上传临时目录
使用WebApplicationInitializer添加servlet
下面的代码为相应的servletContext新增了一个filter。
使用WebApplicationInitializer添加filter
可以看到,WebApplicationInitializer非常灵活,但是如果只是想给DispatcherServlet增加filter,可以直接使用AbstractAnnotationConfigDispatcherServletInitializer的getServletFilters方法。
为DispatcherServlet添加filter的简便方法
本文简单提及了如何处理multipart的请求,在下篇文章中,将对此进行详细讲解。
如果您喜欢这篇文章,可以收藏和分享给更多朋友哦,在此拜谢orz!收藏和分享后,在PC上看IT文章,观感更好。您可以通过toutiao.com访问今日头条,也可以直接访问我的独立博客tantanit.com。这篇文章的地址是http://tantanit.com/spring-mvc-advanced-config
本文为头条号作者发布,不代表今日头条立场。
我计划完成 50 到 100 篇有关 Spring 的文章,这是第十五篇。如果您对Spring和编程感兴趣,欢迎订阅我的头条号,也欢迎关注我的个人独立IT博客:谈谈IT,网址就是tantanit.com哦。
上一篇文章《Spring MVC的基础配置》中讲解了Spring MVC的基础配置,本文对应Spring in Action(Spring实战)第四版第七章中(7.1.1 Customizing DispatcherServlet configuration)的内容,将讲解如何自定义Spring
MVC的配置。
如同在上一篇文章所介绍的,任何继承了AbstractAnnotationConfigDispatcherServletInitializer的类都会自动被用来在应用程序DispatcherServlet上下文中配置DispatcherServlet和其它应用上下文。AbstractAnnotationConfigDispatcherServletInitializer定义了三个抽象方法,getServletMappings,getServletConfigClasses以及getRootConfigClasses,分别定义默认的servlet映射、DispatcherServlet上下文配置文件以及其它(中间层和后端)应用上下文配置文件。继承了AbstractAnnotationConfigDispatcherServletInitializer的类必须实现这三个方法。
为DispatcherServlet定义额外配置
除了这些一定要进行的配置外,根据使用场景的不同,有时需要进行一些其它的配置。AbstractAnnotationConfigDispatcherServletInitializer提供了一些方法,但有需要时,可以通过覆盖这些方法,提供额外的配置。比如customizeRegistration方法,AbstractAnnotationConfigDispatcherServletInitializer在servlet上下文中注册了DispatcherServlet之后,会调用customizeRegistration方法,通过覆盖customizeRegistration方法,可以为DispatcherServlet提供额外配置。比如下面的代码就是在处理类型为multipart的请求,将临时文件夹定义为/tmp/spittr/uploads。使用customizeRegistration配置文件上传临时目录
添加额外的servlet,filter和listener
AbstractAnnotationConfigDispatcherServletInitializer会创建DispatcherServlet和ContextLoaderListener。但是如果想要添加额外的servlet,filter和listener,需要自己再创建。幸运的是,要在web容器中添加组件,只需要创建initializer类。最简单的方式就是实现Spring的WebApplicationInitializer接口。下面的代码注册了一个新的servlet,并且为这个servlet定义了mapping。使用WebApplicationInitializer添加servlet
下面的代码为相应的servletContext新增了一个filter。
使用WebApplicationInitializer添加filter
可以看到,WebApplicationInitializer非常灵活,但是如果只是想给DispatcherServlet增加filter,可以直接使用AbstractAnnotationConfigDispatcherServletInitializer的getServletFilters方法。
为DispatcherServlet添加filter的简便方法
小结
我们可以使用AbstractAnnotationConfigDispatcherServletInitializer生成和配置DispatcherServlet以及ContextLoaderListener,以对Spring MVC进行一些配置,还可以使用WebApplicationInitializer,为web容器添加额外的servlet,filter和listener。本文简单提及了如何处理multipart的请求,在下篇文章中,将对此进行详细讲解。
如果您喜欢这篇文章,可以收藏和分享给更多朋友哦,在此拜谢orz!收藏和分享后,在PC上看IT文章,观感更好。您可以通过toutiao.com访问今日头条,也可以直接访问我的独立博客tantanit.com。这篇文章的地址是http://tantanit.com/spring-mvc-advanced-config
本文为头条号作者发布,不代表今日头条立场。
相关文章推荐
- Spring MVC框架的高级配置
- Spring MVC高级配置
- Spring MVC框架的高级配置
- SpringBoot9-Spring MVC-Spring MVC高级配置
- Spring MVC框架的高级配置
- Spring MVC框架的高级配置
- Spring MVC框架的高级配置(1)
- Spring MVC框架的高级配置
- Spring MVC 的高级配置 - 文件上传配置
- Spring MVC框架的高级配置
- 13-SpringBoot——Spring MVC基础-高级配置-文件上传
- Windows中IIS内FTP服务器高级配置图文教程
- vsftp的高级配置[转]
- [导入]UT-STAR 300R Modem 高级配置指南
- ASP.NET的高级配置Web.config和Machine.Config
- Oracle高级复制的创建配置步骤-Step by Step
- 编写XML作为配置文件的高级操作库
- 在spring MVC中配置多个视图
- 理解并使用ASP.NET的高级配置
- 安装vista时出现"计算机不符合高级配置和电源接口(ACPI)标准",我是这么解决的.(windows7硬盘安装也适用)