WebAppInitializer类,代替web.xml

Posted YJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebAppInitializer类,代替web.xml相关的知识,希望对你有一定的参考价值。

 1 package com.ssm.yjblogs.config;
 2 
 3 import javax.servlet.MultipartConfigElement;
 4 import javax.servlet.ServletRegistration.Dynamic;
 5 
 6 import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
 7 
 8 //使用注解配置方式初始化  P386页
 9 public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
10 
11     // Spring IoC环境配置
12     @Override
13     protected Class<?>[] getRootConfigClasses() {
14         // 配置Spring IoC资源
15         return new Class<?>[] { RootConfig.class };//获取Spring Ioc容器的java配置类,用以装载各类Spring Bean
16     }
17 
18     // DispatcherServlet环境配置
19     @Override
20     protected Class<?>[] getServletConfigClasses() {
21         // 加载Java配置类
22         return new Class<?>[] { WebConfig.class };//获取各类Spring MVC的URI和控制器的配置关系类
23     }
24 
25     // DispatchServlet拦截请求配置
26     @Override
27     protected String[] getServletMappings() {
28         return new String[] { "*.do" };//定义DispatcherServlet拦截的请求
29     }
30 
31     /**
32      * @param dynamic
33      *            Servlet上传文件配置.
34      */
35     @Override
36     protected void customizeRegistration(Dynamic dynamic) {//P443页
37         // 配置上传文件路径
38         String filepath = "e:/mvc/uploads";
39         // 限制请求单个文件5MB
40         Long singleMax = (long) (5 * Math.pow(2, 20));
41         // 总文件10MB
42         Long totalMax = (long) (10 * Math.pow(2, 20));
43         // 设置上传文件配置
44         dynamic.setMultipartConfig(new MultipartConfigElement(filepath, singleMax, totalMax, 0));
45     }
46 
47 }

 无行号版本:

package com.ssm.yjblogs.config;

import javax.servlet.MultipartConfigElement;
import javax.servlet.ServletRegistration.Dynamic;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

//使用注解配置方式初始化  P386页
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    // Spring IoC环境配置
    @Override
    protected Class<?>[] getRootConfigClasses() {
        // 配置Spring IoC资源
        return new Class<?>[] { RootConfig.class };//获取Spring Ioc容器的java配置类,用以装载各类Spring Bean
    }

    // DispatcherServlet环境配置
    @Override
    protected Class<?>[] getServletConfigClasses() {
        // 加载Java配置类
        return new Class<?>[] { WebConfig.class };//获取各类Spring MVC的URI和控制器的配置关系类
    }

    // DispatchServlet拦截请求配置
    @Override
    protected String[] getServletMappings() {
        return new String[] { "*.do" };//定义DispatcherServlet拦截的请求
    }

    /**
     * @param dynamic
     *            Servlet上传文件配置.
     */
    @Override
    protected void customizeRegistration(Dynamic dynamic) {//P443页
        // 配置上传文件路径
        String filepath = "e:/mvc/uploads";
        // 限制请求单个文件5MB
        Long singleMax = (long) (5 * Math.pow(2, 20));
        // 总文件10MB
        Long totalMax = (long) (10 * Math.pow(2, 20));
        // 设置上传文件配置
        dynamic.setMultipartConfig(new MultipartConfigElement(filepath, singleMax, totalMax, 0));
    }

}

 

以上是关于WebAppInitializer类,代替web.xml的主要内容,如果未能解决你的问题,请参考以下文章

Annotation(注解)代替配置文件

推送通知可以代替 web-socket 吗?

Annotation(注解)代替web.xml完成servlet配置

Qt 的哪个类可以代替 MFC 的 CPtrList 类?

php 枚举类代替hard code代码

php 枚举类代替hard code代码