【SpringMVC】配置

   当我们启动一个web项目时,容器(tomcat)会先读取项目web.xml配置文件的配置,这一步骤完成后项目才正常启动。
   在web.xml文件中的节点加载是有顺序,
     ->  ->  -> 相同元素按照先后顺序加载。

     我们首先在在web.xml中通过contextConfigLocation配置spring,contextConfigLocation定义spring配置文件的位置,
在applicationContext.xml中可以配置Bean,添加springMVC的Servlet节点,将springMVC的配置独立出来。

这样在springmvc.xml中只对@Controller进行扫描就可,作为一个控制器,其他的事情不做。

在applicationContext.xml中只对一些事务逻辑的注解扫描。

web.xml配置


  mes
  
    contextConfigLocation
    classpath:applicationContext.xml
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
    org.springframework.web.context.request.RequestContextListener
  
  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
    
      forceEncoding
      true
    
  
  
    encodingFilter
    /*
  
  
    shiroFilter
    org.springframework.web.filter.DelegatingFilterProxy
    
      targetFilterLifecycle
      true
    
  
  
    shiroFilter
    /*
    REQUEST
    FORWARD
  
  
    springmvc
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:spring/springmvc.xml
    
    1
    true
  
  
    springmvc
    /
  
  
    DruidWebStatFilter
    com.alibaba.druid.support.http.WebStatFilter
    
      exclusions
      /static/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
    
    
      sessionStatEnable
      false
    
  
  
    DruidWebStatFilter
    /*
  
  
    DruidStatView
    com.alibaba.druid.support.http.StatViewServlet
    
      loginUsername
      druid
    
    
      loginPassword
      dream
    
  
  
    DruidStatView
    /druid/*
  
  
    30
  
  
    404
    /WEB-INF/views/error/404.jsp
  
  
    500
    /WEB-INF/views/error/500.jsp
  
  
   
    403
    /WEB-INF/jsp/403.jsp
  
  
  
    index.html
    index.jsp
  
springmvc.xml配置
在springmvc.xml配置中,我们需要配置,这样spring就可以自动去扫描base-pack下面或者子包下面的Java文件,
如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean。
由于我们把spring的配置分开了,在这里只要配置Control的扫描就可以了
 
        
        
 

需要注意的是,在的参数中,use-default-filters默认为true,这时候他会对指定包下面全部带@注解标签的类注册为bean。
有两个子标签,
        
        
        
       
如果你只想扫描指定包下面的Controller时,需要设置use-default-filters为false,这时候使用才起效,
如果use-default-filters不设置为false,那你就需要把base-package精确到只含有control的包,不然他会扫描所有注解内容;
如果使用则不扫描该类注释,如果这里也设置了use-default-filters为false,则会导致不扫描,所以使用该标签时不需要设置false



你可能感兴趣的:(java,springMVC,web.xml,spring,mvc,web.xml)