我们可以在AbstractAnnotationConfigDispatcherServletInitializer的实现类中重写onStartup(ServletContext servletContext)方法添加其他的Servlet、Filter以及Listener

 public class SpringWebAppInit extends AbstractAnnotationConfigDispatcherServletInitializer {
//Spring容器
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{RootConfig.class};
} //SpringMVC容器
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{WebConfig.class};
} //DispatcherServlet映射关系
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
} @Override
public void onStartup(ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
ServletRegistration.Dynamic userServlet = servletContext.addServlet("UserServlet", UserServlet.class);
userServlet.addMapping("/user");
}
}

也可以写一个WebApplicationInitializer接口的实现类,通过重写onStartup(ServletContext servletContext)方法添加其他的Servlet、Filter以及Listener

 /**
* 实现WebApplicationInitializer接口注册Servlet,也可以用来注册DispatcherServlet
*/
public class MyServletInit implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
ServletRegistration.Dynamic userServlet = servletContext.addServlet("UserServlet", UserServlet.class);
userServlet.addMapping("/user");
userServlet.setLoadOnStartup(0);
}
}

如果你只是注册Filter,并且该Filter只会映射到DispatcherServlet上的话,那么只需要重写AbstractAnnotationConfigDispatcherServletInitializer的getServletFilters()方法。在这个方法中没有必要声明它的映射路径,因为getServletFilters()方法返回的所有Filter都会映射到DispatcherServlet上

     @Override
protected Filter[] getServletFilters() {
return new Filter[]{new MyFilter()};
}

基于注解的SpringMVC添加其他的Servlet、Filter以及Listener的更多相关文章

  1. SpringMVC札集(03)——基于注解的SpringMVC入门完整详细示例

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...

  2. 基于注解的springmvc开发

    原理简析 1. 背景知识:org.springframework.web.ServletContainerInitializer接口 在基于注解的servlet开发中,ServletContainer ...

  3. 基于注解的SpringMVC简单介绍

    SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请 ...

  4. SpringMVC学习总结(四)——基于注解的SpringMVC简单介绍

    SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是 DispatcherServlet,DispatcherServlet负责转发每一个Request ...

  5. 【转载】基于注解的SpringMVC简单介绍

    SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请 ...

  6. Spring基于注解及SpringMVC

    1.使用注解 (1)组件扫描 指定一个包路径,Spring会自动扫描该包 及其子包所有组件类,当发现组件类定义前有 特定的注解标记时,就将该组件纳入到Spring 容器.等价于原有XML配置中的< ...

  7. 基于注解的SpringMVC

    相比传统的继承Controller体系中某些类的方式,SpringMVC的注解具有以下优点: 1.Controller不再需要继承某个特定类,只是简单的POJO. 2.请求映射的配置非常方便灵活. 3 ...

  8. 基于注解的SpringMVC整合JPA

    转载位置:http://www.blogjava.net/sxyx2008/archive/2010/11/02/336768.html 实体类 Department package com.sj.b ...

  9. spring in action 第五章基于注解搭建SpringMvc环境

    request的生命历程

随机推荐

  1. python上下文管理

    一.python上下文介绍: python中的上下文,指的就是代码所执行的环境状态,或者运行的场景 python上下文管理器规定了某个对象的使用范围,当进入或者离开了使用范围,会有相应的操作,多用于资 ...

  2. Trie树(字典树)推荐文章

    Trie树也被称为字典树,通过这个名字,可以明显知道这种树的结构:像字典一样进行查找的树(想想采用拼音法查找汉字的时候的过程,实质上就是一个逐字母匹配的过程).Trie树就是利用了这种思想构造出来的多 ...

  3. 什么是Vagrant

    相信大家对VMware和VirsualBox不会太陌生,虚拟化的好处在这里我就不多说了.那么我们就一起来学习用Vagrant 为自己来打造一个神奇的跨平台开发环境吧!! 开发过程中,我们经常碰到一个问 ...

  4. echarts 页面对应更改

    ---legrnd legend: { icon: "circle", orient: 'vertical', right: 10, top: 20, bottom: 20, da ...

  5. 【CSA49G】【XSY3315】jump DP

    题目大意 有一个数轴.yww 最开始在位置 \(0\).yww 总共要跳跃很多次.每次 yww 可以往右跳 \(1\) 单位长度,或者跳到位置 \(1\). 定义位置序列为 yww 在每次跳跃之后所在 ...

  6. Shell中echo改变输出显示样式

    普通输出: echo '------------------------------------------------------' 输出的是系统默认的颜色和字体: 加上一些样式,看效果: echo ...

  7. 牛客小白月赛13-J小A的数学题 (莫比乌斯反演)

    链接:https://ac.nowcoder.com/acm/contest/549/J来源:牛客网 题目描述 小A最近开始研究数论题了,这一次他随手写出来一个式子,∑ni=1∑mj=1gcd(i,j ...

  8. [Treap][学习笔记]

    平衡树 平衡树就是一种可以在log的时间复杂度内完成数据的插入,删除,查找第k大,查询排名,查询前驱后继以及其他许多操作的数据结构. Treap treap是一种比较好写,常数比较小,可以实现平衡树基 ...

  9. JS学习笔记Day20

    一. 1.服务器和客户端 客户端 程序: 通过浏览器直接运行 服务器 程序: 通过安装某种服务器软件   程序才可以运行              apache   php文件             ...

  10. UVA11825 黑客的攻击 Hackers' Crackdown 状压DP,二进制,子集枚举

    题目链接Click Here [题目描述] 假如你是一个黑客,侵入了一个有着\(n\)台计算机(编号为\(1.2.3....n\))的网络.一共有\(n\)种服务,每台计算机都运行着所有服务.对于每台 ...