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

      

  • 相关阅读:
    页面表单里的图片上传ENCTYPE="multipart/form-data"
    OSGI
    httpClient使用中报错org.apache.commons.httpclient.HttpMethodBase
    DNSPod--国内最早提供免费智能DNS产品的网站,致力于为各类网站提供高质量的多线智能DNS免费解析
    spring security 一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架
    Unable to parse request org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. null
    swfupload 上传报 security error # 2049 (security) 安全错误问题
    如何强制指定输入的参数必须为数字
    弹性盒子模型子元素垂直和水平居中
    Git常见错误处理
  • 原文地址:https://www.cnblogs.com/liyong888/p/8047040.html
Copyright © 2020-2023  润新知