码迷,mamicode.com
首页 > 编程语言 > 详细

基于注解的SpringMVC添加其他的Servlet、Filter以及Listener

时间:2019-01-12 19:28:43      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:not   添加   实现类   servlet   oid   void   abs   exception   []   

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

 1 public class SpringWebAppInit extends AbstractAnnotationConfigDispatcherServletInitializer {
 2     //Spring容器
 3     @Override
 4     protected Class<?>[] getRootConfigClasses() {
 5         return new Class[]{RootConfig.class};
 6     }
 7 
 8     //SpringMVC容器
 9     @Override
10     protected Class<?>[] getServletConfigClasses() {
11         return new Class[]{WebConfig.class};
12     }
13 
14     //DispatcherServlet映射关系
15     @Override
16     protected String[] getServletMappings() {
17         return new String[]{"/"};
18     }
19     
20     @Override
21     public void onStartup(ServletContext servletContext) throws ServletException {
22         super.onStartup(servletContext);
23         ServletRegistration.Dynamic userServlet = servletContext.addServlet("UserServlet", UserServlet.class);
24         userServlet.addMapping("/user");
25     }
26 }

 

 

 

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

 

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

 

 

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

 

1     @Override
2     protected Filter[] getServletFilters() {
3         return new Filter[]{new MyFilter()};
4     }

 

基于注解的SpringMVC添加其他的Servlet、Filter以及Listener

标签:not   添加   实现类   servlet   oid   void   abs   exception   []   

原文地址:https://www.cnblogs.com/fanqisoft/p/10260648.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!