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

WebAppInitializer类,代替web.xml的更多相关文章

  1. ssm web.xml配置解析

    以下为web.xml的配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=& ...

  2. java web工程web.xml介绍

    转载自:http://blog.csdn.net/believejava/article/details/43229361 Web.xml详解: 1.web.xml加载过程(步骤) 首先简单讲一下,w ...

  3. web.xml文件:

    在web.xml配置文件是一个的J2EE配置文件,决定如何处理HTTP请求servlet容器的元素.它不是严格意义上的Struts2的配置文件,但它是一个文件,需要配置Struts2的工作. 正如前面 ...

  4. web.xml 配置文件 超详细说明!!!

    一.web.xml是什么? 首先 web.xml 是java web 项目的一个重要的配置文件,但是web.xml文件并不是Java web工程必须的. web.xml文件是用来配置:欢迎页.serv ...

  5. [转]web.xml中servlet ,filter ,listener ,interceptor的作用与区别

    原文链接:https://blog.csdn.net/netdevgirl/article/details/51483273 一.概念: 1.servlet:servlet是一种运行服务器端的java ...

  6. ssm web.xml文件解析

    转   以下为web.xml的配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:x ...

  7. 如何用Java类配置Spring MVC(不通过web.xml和XML方式)

    DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servl ...

  8. 第7章—SpringMVC高级技术—不用web.xml,而使用java类配置SpringMVC

    不用web.xml,而使用java类配置SpringMVC DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置 ...

  9. eclipse环境Dynamic web module version 3.1版本的进步,简化Dynamic web object 中Servlet类的配置,不用web.xml配置<Servlet>

    eclipse环境Dynamic web module version 3.1版本之前,Dynamic web object 中Servlet类的配置,要在web.xml 配置<Servlet& ...

  10. Spring之WebContext不使用web.xml启动 初始化重要的类源码分析(Servlet3.0以上的)

    入口: org.springframework.web.SpringServletContainerInitializer implements ServletContainerInitializer ...

随机推荐

  1. 20165336 2017-2018-2 《Java程序设计》第8周学习总结

    20165336 2017-2018-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十二章 1.程序:一段静态的代码.进程:程序的一次动态执行过程,它对应了从代码加载.执行至 ...

  2. Tacacs+认证详细调研

    1 .TACACS+概述 1.1   什么是TACACS+ TACACS+(Terminal Access Controller Access Control System,终端访问控制器控制系统协议 ...

  3. 关于话题模型(topic model)的一些思考

    最近在分析知乎的‘问题’文本所属的话题,用python提取,实现了LSTM和LDA模型在这个方面的应用,但是效果不是很理想,一个是这些文本属于短文本,另外用来分析的文本本身包含多个领域的问题,并且数量 ...

  4. 001-mock.js安装使用

    一.基础 1.1.安装 //安装 npm install mockjs --save 1.2.使用 // 使用 Mock var Mock = require('mockjs') Mock.mock( ...

  5. studio-3t-x64 下载地址

    https://download.studio3t.com/studio-3t/windows/2018.4.6/studio-3t-x64.zip Studio 3T 破解教程1.创建文件studi ...

  6. vue 手指长按触发事件

    按钮 <span class="btn" @touchstart="gtouchstart()" @touchmove="gtouchmove( ...

  7. Py中enumerate方法【转载】

    转自:http://www.runoob.com/python/python-func-enumerate.html enumerate(sequence, [start=0]) sequence - ...

  8. $router.query和$router.params的区别

    类型于get(query) 和 post(params) 1.query方式传参和接收参数   传参: this.$router.push({ path:"/xxx" query: ...

  9. Centos 中 vi 和vim 的区别

    它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道在vi里,按 u只能撤消上次 ...

  10. numpy.loadtxt用法

    numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None ...