springMVC 项目搭建

Spring项目搭建
   1,在web项目的web.xml文件中配置spring容器的配置
     <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
           classpath:spring/applicationContext.xml
        </param-value>
    </context-param>
    <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener
       </listener-class>
    </listener>
    a、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。

    b、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。

    c、容器将<context-param>转换为键值对,并交给servletContext。

    d、容器创建<listener>中的类实例,创建监听器。
   2,在web项目的web.xml文件中配置springMVC配置
    <servlet>
      <servlet-name>mvc-dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <init-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:spring/spring-mvc.xml</param-value>
       </init-param>
<load-on-startup>1</load-on-startup>
    </servlet>
    Load-on-startup 元素在web应用启动的时候指定了servlet被加载的顺序,它的值必须是     一个整数。如果它的值是一个负整数或是这个元素不存在,那么容器会在该servlet被调用的时候,加载这个servlet 。如果值是正整数或零,容器在配置的时候就加载并初始化这个servlet,容器必须保证值小的先被加载。如果值相等,容器可以自动选择先加载谁。 

在servlet的配置当中,<load-on-startup>5</load-on-startup>的含义是:

标记容器是否在启动的时候就加载这个servlet。

当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;

当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。

正数的值越小,启动该servlet的优先级越高。
     <servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
     </servlet-mapping>
   3,applicationContext.xml配置
     个性化配置 需要哪些功能就配置哪些功能
     <!-- 注解扫描包 -->
<context:component-scan base-package=" " />
         <context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Controller" />
<context:exclude-filter type="annotation"   expression="org.springframework.web.bind.annotation.ControllerAdvice" />
</context:component-scan>
     引入需要导入的功能
        <import resource="imported/dubbo-provider.xml" />--dubbo相关的配置
<import resource="imported/shard-mybatis.xml" />--分库分表mybatis相关配置
<import resource="imported/spring-quartz.xml" />--任务调度相关配置
   4,springMVC相关配置
    <!-- 注解扫描包 -->
       <context:component-scan base-package="" />
       <!-- 编码相关-->
         <bean id="utf8Charset" class="java.nio.charset.Charset"
factory-method="forName">
<constructor-arg value="UTF-8" />
</bean>
      <!-- 静态文件处理 -->
<mvc:resources location="/WEB-INF/ui2/resources/" mapping="/resources/**" />
<mvc:resources location="/WEB-INF/ui2/views/" mapping="/views/**" />

<mvc:view-controller path="/" view-name="index" />
<mvc:view-controller path="/404" view-name="error/404" />

<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/views/" />
<property name="suffix" value=".html" />
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="redirectHttp10Compatible" value="false" />
</bean>

<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 默认编码 -->
<property name="defaultEncoding" value="utf-8" />
<!-- 文件大小最大值 -->
<property name="maxUploadSize" value="31457280" />
<!-- 内存中的最大值 -->
<property name="maxInMemorySize" value="40960" />
</bean>
<mvc:interceptors>
<mvc:interceptor>
<!--设置拦截的路径 -->
<mvc:mapping path="/**" />
<mvc:exclude-mapping path="/" />
<mvc:exclude-mapping path="/" />
<bean class="interceptor.AuthenticationInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
     

猜你喜欢

转载自g596139453.iteye.com/blog/2260230