spring inaction 自定义 DispatcherServlet
来源:互联网 发布:svn java api 编辑:程序博客网 时间:2024/06/11 17:29
7.1.1 自定义DispatcherServlet配置
虽然从程序清单7.1的外观上不一定能够看得出来,但是Abstract-AnnotationConfigDispatcherServletInitializer所完成
的事情其实比看上去要多。在SpittrWebAppInitializer中我们所编写的三个方法仅仅是必须要重载的abstract方法。但实际上还
有更多的方法可以进行重载,从而实现额外的配置。此类的方法之一就是customizeRegistration()。
在AbstractAnnotation-ConfigDispatcherServletInitializer
将DispatcherServlet注册到Servlet容器中之后,就会调用customizeRegistration(),并将Servlet注册后得到的
Registration.Dynamic传递进来。通过重载customizeRegistration()方法,我们可以对DispatcherServlet进行额外的配置
7.1.2 添加其他的Servlet和Filter
按照AbstractAnnotationConfigDispatcherServletInitializer的定义,它会创建DispatcherServlet和
ContextLoaderListener。但是,如果你想注册其他的Servlet、Filter或Listener的话,那该怎么办呢?
基于Java的初始化器(initializer)的一个好处就在于我们可以定义任意数量的初始化器类。因此,如果我们想往Web容器中注册其他组件
的话,只需创建一个新的初始化器就可以了。最简单的方式就是实现Spring的WebApplicationInitializer接口
例如,如下的程序清单展现了如何创建WebApplicationInitializer实现并注册一个Servlet。程序清单7.1 通过实现WebApplicationInitializer来注册Servlet
7.1.3 在web.xml中声明DispatcherServlet
在典型的Spring MVC应用中,我们会需要DispatcherServlet和Context-LoaderListener。
AbstractAnnotationConfigDispatcherServletInitializer会自动注册它们,但是如果需要在web.xml中注册的话,那就需要我
们自己来完成这项任务了。
如果你希望指定DispatcherServlet配置文件的位置的话,那么可以在Servlet上指定一个contextConfigLocation初始化参数。
例如,如下的配置中,DispatcherServlet会从“/WEBINF/spring/appServlet/servlet-context.xml”加载它的bean:
当然,上面阐述的都是如何让DispatcherServlet和ContextLoaderListener从XML中加载各自的应用上下文。但
是,在本书中的大部分内容中,我们都更倾向于使用Java配置而不是XML配置。因此,我们需要让Spring MVC在启动的时候,从带有@Configuration注解的类上加载配置。
要在Spring MVC中使用基于Java的配置,我们需要告诉DispatcherServlet和ContextLoaderListener使
用AnnotationConfigWebApplicationContext,这是一个WebApplicationContext的实现类,它会加载Java配置类,而
不是使用XML。要实现这种配置,我们可以设置contextClass上下文参数以及DispatcherServlet的初始化参数。如下的程序清单展现
了一个新的web.xml,在这个文件中,它所搭建的Spring MVC使用基于Java的Spring配置:
设置web.xml使用基于Java的配置
- spring inaction 自定义 DispatcherServlet
- spring inaction 视图
- Spring MVC - DispatcherServlet Example
- Spring MVC DispatcherServlet说明
- Spring MVC DispatcherServlet配置
- Spring:DispatcherServlet的详解
- Spring DispatcherServlet 工作机制
- 初学 Spring MV -- DispatcherServlet
- spring mvc dispatcherServlet
- Spring MVC中的DispatcherServlet
- Spring MVC:DispatcherServlet详解
- spring中的DispatcherServlet
- Spring DispatcherServlet 的作用
- Spring DispatcherServlet 的作用
- spring MVC(一) DispatcherServlet
- spring mvc DispatcherServlet作用
- Spring MVC DispatcherServlet
- Spring MVC DispatcherServlet 配置
- MyBatis报错: Parameter '*' not found. Available parameters are [1, 0, param1, param2]
- 函数stat,fstat,fstatat和lstat
- java回调函数
- Linux下tomcat JVM内存 配置
- hdu6103-Kirinriki (2017杭电多校联赛第6场)
- spring inaction 自定义 DispatcherServlet
- Docker & Docker-Compose安装、使用
- Action往js中传递Json(text,object,List)
- Node.js学习笔记(1)——新建一个web服务器
- 经验分享--简工
- 微服务架构与分布式事物解决与系统架构设计
- MFC隐藏主窗口的方法
- 通过异常处理错误
- 作图注意事项