public class WebInit implements WebApplicationInitializer {

    @Override
public void onStartup(ServletContext container) throws ServletException {
//项目启动则执行 :
//前端控制器
//对比xml配置,配置在web.xml中的
/*
* <servlet>
* <servlet-name>dispatcherServlet</servlet-name>
* <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
* <init-param>
* <param-name>contextConfigLocation</param-name>
* <param-value>/WEB-INF/classes/application.xml</param-value>
* </init-param>
* <load-on-startup>1</load-on-startup>
* </servlet>
* <servlet-mapping>
* <servlet-name>dispatherServlet</servlet-name>
* <url-pattern>*.do</url-pattern>
* </servlet-mapping>
* */
//javaConfig配置
//这句相当于控制器核心类
ServletRegistration.Dynamic dispatcherServletRegistration = container.addServlet("dispatcher", new DispatcherServlet());
//这句相当于配置服务器启动就加载servlet容器
dispatcherServletRegistration.setLoadOnStartup(1);
//这句相当于配置注解驱动
dispatcherServletRegistration.setInitParameter("contextClass", "org.springframework.web.context.support.AnnotationConfigWebApplicationContext");
//这句相当于加载springmvc核心配置文件
dispatcherServletRegistration.setInitParameter("contextConfigLocation", "com.mike.small.config.SpringMvcConfig");
//拦截所有url
dispatcherServletRegistration.addMapping("/"); //处理乱码过滤器
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
FilterRegistration.Dynamic characterEncodingFilterRegistration = container.addFilter("characterEncodingFilter", filter);
characterEncodingFilterRegistration.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD), false, "/*"); //注解驱动类
AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
rootContext.register(SpringMvcConfig.class);
//这句相当于web.xml的监听器
/*<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
*/
container.addListener(new ContextLoaderListener(rootContext));
} }

  

@Configuration // this class contains bean definitions
@EnableWebMvc // same as <mvc:annotation-driven />
@ComponentScan(basePackages = {"com.mike.small"})
public class SpringMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// declare static resources
registry.addResourceHandler("/static/**").addResourceLocations("/static/");
} @Bean
public InternalResourceViewResolver viewResolver() {
// view resolver
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/jsp/");
resolver.setSuffix(".jsp");
return resolver;
} @Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(104857600);
return multipartResolver;
}
}

  

最新文章

  1. Hadoop Pig简介、安装、试用
  2. DGbroker三种保护模式的切换
  3. webService----wsimport调用方式
  4. nl2br
  5. 常见的XMLHttpRequest.status状态码
  6. 滚珠菜单动效-b
  7. 邮件发送 emailsend .net开发
  8. 【留念贴】Android开发——计算器
  9. 关于iphone点击readonly的input虚拟键盘不消失的情况
  10. iOS开发之JSON转PLIST(把存储json格式的文件转换成plist文件)
  11. nova vnc proxy基本原理
  12. 又见thrift异常之TApplicationException: Internal error processing..
  13. UIDataPicker 时间选择器
  14. 【转载】SQL Server 版本列表
  15. JAVA面试精选【Java算法与编程二】
  16. MFC 消息映射表和虚函数实现消息映射到底谁的效率高
  17. Maven仓库 - 分发构件至远程仓库
  18. python代码异常范围检查方法(非常实用)
  19. Lavavel5.5源代码 - 限流工具
  20. Kotlin怎样使用Android的Dagger2

热门文章

  1. reference file contains errors
  2. Android(Java) 字符串的常用操作,获取指定字符出现的次数,根据指定字符截取字符串
  3. web项目错误页面友好处理404,500等
  4. ES6作用域和解构赋值
  5. Android活动生命周期
  6. iOS 类似朋友圈的图片浏览器SDPhotoBrowser
  7. windows 下共享内存使用方法示例
  8. xamarin android checkbox自定义样式
  9. 分享一个Maven的架构,以及在Maven配置中的注意事项
  10. java 快速排序