WebAppInitializer类,代替web.xml
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的更多相关文章
- ssm web.xml配置解析
以下为web.xml的配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=& ...
- java web工程web.xml介绍
转载自:http://blog.csdn.net/believejava/article/details/43229361 Web.xml详解: 1.web.xml加载过程(步骤) 首先简单讲一下,w ...
- web.xml文件:
在web.xml配置文件是一个的J2EE配置文件,决定如何处理HTTP请求servlet容器的元素.它不是严格意义上的Struts2的配置文件,但它是一个文件,需要配置Struts2的工作. 正如前面 ...
- web.xml 配置文件 超详细说明!!!
一.web.xml是什么? 首先 web.xml 是java web 项目的一个重要的配置文件,但是web.xml文件并不是Java web工程必须的. web.xml文件是用来配置:欢迎页.serv ...
- [转]web.xml中servlet ,filter ,listener ,interceptor的作用与区别
原文链接:https://blog.csdn.net/netdevgirl/article/details/51483273 一.概念: 1.servlet:servlet是一种运行服务器端的java ...
- ssm web.xml文件解析
转 以下为web.xml的配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:x ...
- 如何用Java类配置Spring MVC(不通过web.xml和XML方式)
DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servl ...
- 第7章—SpringMVC高级技术—不用web.xml,而使用java类配置SpringMVC
不用web.xml,而使用java类配置SpringMVC DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置 ...
- 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& ...
- Spring之WebContext不使用web.xml启动 初始化重要的类源码分析(Servlet3.0以上的)
入口: org.springframework.web.SpringServletContainerInitializer implements ServletContainerInitializer ...
随机推荐
- Java之旅_面向对象_多态
参考并摘自:http://www.runoob.com/java/java-polymorphism.html 多态 多态是一个行为具有多个不同表现形式的能力. 多态就是同一个接口,使用不同的实例而执 ...
- ATL Thunk机制深入分析
如果你有SDK的编程经验,就一定应该知道在创建窗口时需要指定窗口类,窗口类中的一种重要的参数就是窗口过程.任何窗口接收到的消息,都是由该窗口过程来处理. 在面向对象编程中,如果还需要开发人员来使用原始 ...
- 函数 call、apply、bind的使用
[优雅代码]深入浅出 妙用Javascript中apply.call.bind (转载而来) 这篇文章实在是很难下笔,因为网上相关文章不胜枚举. 巧合的是前些天看到阮老师的一篇文章的一句话: “对 ...
- java 选择排序、冒泡排序、折半查找
public class SortAndSelectDemo{ public static void main(String[] args){ int[] arr = {3, 5, 17, 2, 11 ...
- jquery中$.get()提交和$.post()提交的区别
相同点:都是异步请求的方式来获取服务器端的数据: 异同点: 1.请求方式不同:$.get()方法使用 GET 方法来进行异步请求的:$.post()方法使用POST方法来进行异步请求的: 2.参数传递 ...
- urllib2 python3错误?用from urllib import request来代替!
今天ytkah在一个python3项目要引用urllib2,可是提示ImportError: No module named 'urllib2'错误了.原来是urllib2可以在python2.x适用 ...
- 013-程序性能分析之thread dump和heap dump
一.dump基本概念 主要用于故障定位(尤其是out of memory)和性能分析.主要记录了JVM运行期间的内存占用.线程执行等情况,这就是常说的dump文件.常用的有heap dump和thre ...
- 导出toolStrip1中的图标
foreach (ToolStripItem c in toolStrip1.Items) { if (!(c is ToolStripButton)) continue; var btn = (To ...
- nginx 部署web页面问题
nginx 部署web页面的时候,路径都是对的,但是css文件就是不起作用,控制台提示如下,原来是格式的问题,截图如下: css 被转成了application/octet-stream,这个是ngi ...
- python----GIL的概念
问题:多核没有利用上 GIL:全局解释锁 因为有GIL ,所以同一时刻,只有一个线程被CPU执行 任务:IO密集型,计算密集型 对于IO密集型的任务:python的多线程的是有意义的 可以采用多进程+ ...