SpringMVC框架搭建

1、创建maven下的web项目
2、在maven下引入spring相关依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>Shop</groupId>
	<artifactId>com.comm</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>com.comm Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>3.1.1.RELEASE</version>
		</dependency>
	</dependencies>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

3、在web.xml中引入sping的相关配置
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/applicationContext.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

      <servlet>
		<servlet-name>shop</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>shop</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>

</web-app>


4、根据web.xml中定义的servlet名称,如shop,在/WEB-INF目录下创建名称为shop-servlet.xml的springMVC配置文件,此文件内配置的Bean会在独立的容器内实例化,此容器会继承ApplicationContext文件定义的默认容器。
<?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:p="http://www.springframework.org/schema/p"
	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-3.0.xsd  
       http://www.springframework.org/schema/aop 
       http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
       http://www.springframework.org/schema/tx 
       http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
       http://www.springframework.org/schema/context 
       http://www.springframework.org/schema/context/spring-context-3.0.xsd 
       http://www.springframework.org/schema/mvc 
       http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
	<!-- 启用spring mvc 注解 -->
	<context:annotation-config />
	<bean id="handlerMapping"
          class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
        <property name="interceptors">
            <list>
                <ref bean="officeHoursInterceptor"/>
            </list>
        </property>
    </bean>
	<bean id="officeHoursInterceptor" class="com.xue.action.interceptor.OfficeHoursInterceptor">
		<property name="openingTime" value="9"></property>
		<property name="closingTime" value="13"></property>
	</bean>
	<!-- respnoseBody编码 -->
	  <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
		<property name="messageConverters">
			<list>
<!-- 				<bean id="utf8StringHttpMessageConverter" class="com.xinhuanet.space.common.util.UTF8StringHttpMessageConverter" /> -->
				 <bean class = "org.springframework.http.converter.StringHttpMessageConverter">    
                       <property name = "supportedMediaTypes">  
                        <list>  
                                <value>text/html;charset=UTF-8</value>    
                                <value>text/json;charset=UTF-8</value>    
                        </list>    
                        </property>    
                </bean>    
			</list>
		</property>
	</bean>
	<!-- 设置使用注解的类所在的jar包 -->
	<context:component-scan base-package="com.xue"/>
	<mvc:annotation-driven />
	<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
	    <bean  
        id="jstlViewResolver"  
        class="org.springframework.web.servlet.view.InternalResourceViewResolver"  
        p:viewClass="org.springframework.web.servlet.view.JstlView"  
        p:prefix="/WEB-INF/view/"  
        p:suffix=".jsp" />
	<!-- 完成请求和注解POJO的映射 -->
<!-- 	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> -->
<!-- 	<context:property-placeholder location="classpath:/hibernate.properties" />   -->
	
	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="utf-8" />

</beans>


5、在applicationContext中加入标注的配置和需要的bean配置
<?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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
	<context:component-scan base-package="com.xue"></context:component-scan>
	<context:property-placeholder location="classpath:/jdbc.properties" />
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="${jdbc.driverClassName}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />

		<property name="initialSize" value="10" /><!-- 初始化连接 -->
		<property name="maxIdle" value="20" /><!-- 最大空闲连接 -->
		<property name="minIdle" value="5" /><!-- 最小空闲连接 -->
		<property name="maxActive" value="50" /><!-- 最大连接数量 -->
		<property name="maxWait" value="1000" /><!-- 超时等待时间, 单位:毫秒 -->

		<property name="removeAbandoned" value="true" /><!-- 是否自动回收超时连接 -->
		<property name="removeAbandonedTimeout" value="180" /><!-- 超时时间,单位:秒 -->
		<property name="logAbandoned" value="true" /><!-- 是否在自动回收超时连接的时候打印连接的超时错误 -->
	</bean>
	<bean class="org.springframework.jdbc.core.JdbcTemplate"
		p:dataSource-ref="dataSource" />
	<!--  <import resource="applicationContext/applicationContext-email.xml" />-->
</beans>

你可能感兴趣的:(springMVC)