Spring MVC 之基本配置和请求流程

Spring MVC 基本配置项

SpringMVC是目前Web程序和前端数据交互的框架,包括文件上传,静态资源下载,api接口数据返回等,主要是配置一个spring-mvc.xml的配置文件,这个配置文件是给org.springframework.web.servlet.DispatcherServlet这个类使用的,初始化DispatcherServlet这个类须要传入配置文件地址。前端

在web.xml中初始化DispatcherServletweb

<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

而后在src/main/resources中建立spring-mvc.xml文件,配置以下:spring

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context-4.0.xsd
      http://www.springframework.org/schema/mvc 
      http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
  
   <!-- 自动扫面controller包 -->
	<context:component-scan base-package="com.content.spider.ru.controller" />

	<mvc:default-servlet-handler /> <!--默认handler-->
   <mvc:annotation-driven />       <!-- 使用默认注解解析器,@Controller注解生效前提 -->

  <!-- 配置@ResponseBody注释后返回的数据格式,使用fastjson -->
	<mvc:annotation-driven>
		<mvc:message-converters register-defaults="true">
			<bean id="fastJsonHttpMessageConverter"
				class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
				<property name="supportedMediaTypes">
					<list>
						<value>application/json;charset=UTF-8</value>
					</list>
				</property>
			</bean>
		</mvc:message-converters>
	</mvc:annotation-driven>
  
  <!-- 配置@ResponseBody注释后返回的数据格式,使用jackson -->
<!--
 <mvc:annotation-driven>
	<mvc:message-converters register-defaults="true">
		<bean id="jacksonMessageConverter"
			class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
				<property name="supportedMediaTypes">
					<list>
						<value>text/json;charset=UTF-8</value>
					</list>
				</property>
			</bean>
		</mvc:message-converters>
 </mvc:annotation-driven>
-->

    
    <!-- 配置modelview返回,自动加上前缀和后缀-->
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/view/" />
		<property name="suffix" value=".jsp" />
	</bean>
  
  <!-- 抛出异常,返回接口处理-->
    <bean id="exceptionResolver" class="com.content.spider.common.web.HandlerExceptionResolver"  />
   
    
   <!-- 文件上传使用 --> 
    <bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="maxUploadSize" value="209715200" /><!-- 200M -->
	</bean>
    
  
    <!--
	     因为DispatchServlet拦截了全部的请求,也包括静态资源
    	 因此对于静态资源的访问,咱们须要在这里进行配置
     -->
    <!-- 配置静态资源映射,若是是maven项目,则是 src/main/webapp/webeditor目录下的静态资源 -->
	<mvc:resources mapping="/images/**" location="/WEB-INF/images/" />
	<mvc:resources mapping="/styles/**" location="/WEB-INF/styles/" />
	<mvc:resources mapping="/script/**" location="/WEB-INF/script/" />
	<mvc:resources mapping="/fonts/**" location="/WEB-INF/fonts/" />
    <!-- 资源重定向(仅做为后台使用不提供静态资源) -->
	<mvc:resources mapping="upload/**" location="/WEB-INF/upload/" cache-period="300" />  

</beans>

 

Spring MVC请求流程

相关文章
相关标签/搜索