Spring MVC环境搭建

来源:互联网 发布:java逆序输出数组 编辑:程序博客网 时间:2024/05/16 06:34

版本: Spring MVC3.0.5

所需要的jar:在资源里可以找到

web.xml:

             

<?xml version="1.0" encoding="UTF-8"?>  <web-app  version="3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns="http://java.sun.com/xml/ns/javaee"   xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  id="WebApp_ID" >              <display-name></display-name><description></description>        <!-- 定义Spring配置文件位置 -->    <context-param>          <param-name>contextConfigLocation</param-name>          <param-value>classpath:applicationContext*.xml</param-value>      </context-param>          <!-- 编码处理过滤器 --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter>        <!-- 对Spring容器进行实例化 -->    <listener>          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>      </listener>          <!-- Spring刷新Introspector防止内存泄露 --><listener><listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class></listener>        <!-- 配置spring核心servlet -->      <servlet>          <servlet-name>spring-mvc</servlet-name>          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>           <init-param>          <param-name>contextConfigLocation</param-name>          <param-value>/META-INF/springmvc-servlet.xml</param-value>           </init-param>          <load-on-startup>1</load-on-startup>      </servlet>      <!-- url-pattern配置为/,不带文件后缀,会造成其它静态文件(js,css等)不能访问。如配为*.do,则不影响静态文件的访问 -->      <servlet-mapping>          <servlet-name>spring-mvc</servlet-name>          <url-pattern>/</url-pattern>      </servlet-mapping>          <filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app> 

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:aop="http://www.springframework.org/schema/aop"        xmlns:tx="http://www.springframework.org/schema/tx"        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/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/aop               http://www.springframework.org/schema/aop/spring-aop-3.0.xsd" >   <!-- JDBC参数配置 --><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" lazy-init="true"><property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /><property name="ignoreResourceNotFound" value="true" /><property name="locations"><list><value>classpath:/jdbc.properties</value></list></property></bean><!-- 数据源配置 --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><!-- 设置JDBC驱动名称 --><property name="driverClassName" value="${jdbc.driver}" /><!-- 设置JDBC连接URL --><property name="url" value="${jdbc.url}" /><!-- 设置数据库用户名 --><property name="username" value="${jdbc.username}" /><!-- 设置数据库密码 --><property name="password" value="${jdbc.password}" /><!-- 设置连接池初始值 --><property name="initialSize" value="5" /><!-- 设置连接池最大值 --><property name="maxActive" value="100" /><!-- 设置连接池最小空闲值 --><property name="minIdle" value="20" /><!-- 设置连接池最大空闲值 --><property name="maxIdle" value="50" /></bean>     <!-- 自动扫描组件,需要把controller去掉,否则影响事务管理 -->       <context:component-scan base-package="qihang.oa">          <context:exclude-filter type="regex" expression="qihang.oa.controller.*"/>       </context:component-scan>       <!-- 使用AspectJ方式配置AOP --><aop:aspectj-autoproxy proxy-target-class="true" /><aop:config proxy-target-class="true" /><!-- 使用注解方式定义事务 --><tx:annotation-driven proxy-target-class="true" transaction-manager="transactionManager" /><!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><!-- 配置事务传播特性 --><tx:advice id="transactionAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="save*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><tx:method name="get*" read-only="true" /><tx:method name="load*" read-only="true" /><tx:method name="find*" read-only="true" /><tx:method name="*" read-only="true" /></tx:attributes></tx:advice><!-- 配置哪些类的哪些方法参与事务 --><aop:config><aop:advisor pointcut="execution(* qihang.oa.service..*.*(..))" advice-ref="transactionAdvice" /></aop:config></beans>

springmvc-servlet.xml:

<?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/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">     <!-- 启动扫描所有的controller -->      <context:component-scan base-package="qihang.oa.controller"/>           <!-- 主要作用于@Controller,激活该模式  下面是一种简写形式,完全可以手动配置替代这种简写形式;                              它会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,  是spring MVC为@Controllers分发请求所必须的       -->      <mvc:annotation-driven/>               <!-- 这里拦截器还有一种配置方法【针对路径进行配置】 推荐使用这个,方便直观-->      <!--<mvc:interceptors>          <mvc:interceptor>              <mvc:mapping path="/user/MyHome"/>              <mvc:mapping path="/usermanager/*"/>              <bean  class="com.aokunsang.web.interceptor.MyInterceptor"></bean>          </mvc:interceptor>      </mvc:interceptors>    -->           <!-- 全局配置       <mvc:interceptors>          <bean class="com.aokunsang.web.interceptor.MyInterceptor"></bean>      </mvc:interceptors>      -->      <!-- 配置js,css等静态文件直接映射到对应的文件夹,不被DispatcherServlet处理 -->      <mvc:resources location="/WEB-INF/resources/**" mapping="/resources"/>            <!-- jsp页面解析器,当Controller返回XXX字符串时,先通过拦截器,然后该类就会在/WEB-INF/views/目录下,查找XXX.jsp文件-->      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">          <property name="prefix" value="/WEB-INF/views/"></property>          <property name="suffix" value=".jsp"></property>      </bean>         <!--  <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">     <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>     <property name="prefix" value="/jsp/"/>     <property name="suffix" value=".jsp"/>     </bean>  --></beans>