zoukankan      html  css  js  c++  java
  • springMvc项目的搭建,暂时没有整合持久层框架(java Config配置对比xml配置)

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

      

  • 相关阅读:
    VBoxManage命令详解
    十条nmap常用的扫描命令
    2015-12-16 第八天笔记整理-第二部分
    2015-12-13 第八天笔记整理-第一部分
    2015-12-06 第七天课程笔记
    2015-12-04 学习笔记整理
    2015-11-22 第五天
    选择控制语句和循环结构
    数据类型和运算符
    常用DOS指令
  • 原文地址:https://www.cnblogs.com/liyong888/p/8047040.html
Copyright © 2011-2022 走看看