zoukankan      html  css  js  c++  java
  • 如何把web.xml中的context-param、Servlet、Listener和Filter定义添加到SpringBoot中

    把传统的web项目迁移到SpringBoot中,少不了web.xml中的context-param、Servlet、Filter和Listener等定义的迁移。 对于Servlet、Filter和Listener相关定义转换相对来说比较明确:

    Servlet定义的迁移

    一般servlet的迁移

    @WebServlet("/jsonIndexSearchServlet")
    public class JsonIndexSearchServlet extends HttpServlet {
    	...
    }
    

    FacesServlet的迁移

    	@Bean
        public ServletRegistrationBean servletRegistrationBean() {
            FacesServlet servlet = new FacesServlet();
            //, "*.jsf"
            ServletRegistrationBean bean = new ServletRegistrationBean(servlet);
            bean.setOrder(40);
            bean.setName("FacesServlet");
            List<String> urlPattern = new ArrayList<>();
            urlPattern.add("*.jsf");
            bean.setUrlMappings(urlPattern);
            return bean;
        }
    

    Listener定义的迁移

        @Bean
        public ServletListenerRegistrationBean<ServletContextListener> setStartupServletContextListener(){
        	ServletListenerRegistrationBean<ServletContextListener> result = new ServletListenerRegistrationBean<>();
        	result.setListener(new StartupServletContextListener());
        	result.setOrder(20);
        	return result;
        }
    

    Filter定义的迁移

        @Bean
        public FilterRegistrationBean rewriteFilter() {
            FilterRegistrationBean rwFilter = new FilterRegistrationBean(new RewriteFilter());
            rwFilter.setDispatcherTypes(EnumSet.of(DispatcherType.FORWARD, DispatcherType.REQUEST,
                    DispatcherType.ASYNC, DispatcherType.ERROR));
            rwFilter.addUrlPatterns("/*");
            rwFilter.setOrder(30);
            return rwFilter;
        }
    

    context-param定义的迁移

        @Bean
        public InitParameterConfiguringServletContextInitializer initParamsInitializer() {
            Map<String, String> contextParams = new HashMap<>();
            contextParams.put("org.apache.myfaces.AUTO_SCROLL", "true");
            return new InitParameterConfiguringServletContextInitializer(contextParams);
        }
    
  • 相关阅读:
    20191211 HNOI2017 模拟赛 问题A
    20191211 HNOI2017模拟赛 C题
    BZOJ 3681 Arietta
    netcore3.1中的Json操作
    netcore2.2出现的新特性HealthCheck
    MVC为什么要使用TagHelper?
    psql备份csv文件
    DataAnnotations的使用及细节处理
    记录一次mac安装node遇到的错误
    记录一次netcore3.0 code first使用迁移命令报错问题
  • 原文地址:https://www.cnblogs.com/senlinyang/p/10430152.html
Copyright © 2011-2022 走看看