WebAppInitializer类,代替web.xml

时间:2023-11-10 18:57:02
 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));
} }

无行号版本:

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));
} }