ssm整合

  1. 官方整合示例,jpetstore
    https://github.com/mybatis/jpetstore-6

  2. jackson基本用法:
    https://www.cnblogs.com/guanbin-529/p/11488869.html

  3. Spring各个jar包的作用
    https://www.cnblogs.com/zz-1q/p/10350265.html

  4. 阿里Druid数据连接池介绍
    https://blog.csdn.net/YEN_CSDN/article/details/54411142

一、maven依赖

    <properties>
	  <spring-version>4.2.5.RELEASE</spring-version>
    </properties>
    
   <!-- Spring 相关依赖 --> 
   <!----------------------spring start--------------------------->  
        <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-core</artifactId>
           <version>${spring-version}</version>
	        <exclusions>
	           <exclusion>
	            <groupId>commons-logging</groupId>
	            <artifactId>commons-logging</artifactId>
	           </exclusion>
	        </exclusions>
        </dependency>
        <dependency> 
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context</artifactId>  
            <version>${spring-version}</version>  
         </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-beans</artifactId>  
            <version>${spring-version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
            <version>${spring-version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-jdbc</artifactId>  
            <version>${spring-version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-aspects</artifactId>  
            <version>${spring-version}</version>  
        </dependency> 
        <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-web</artifactId>
           <version>${spring-version}</version>
      </dependency>
      <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring-version}</version>
       </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context-support</artifactId>
          <version>${spring-version}</version>
     </dependency>
 <!----------------------spring end--------------------------->  


 <!----------------------Mybatis start------------------------>  
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis</artifactId>  
            <version>3.4.2</version>  
        </dependency>  
        
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis-spring</artifactId>  
            <version>1.3.0</version>  
        </dependency>  

		<dependency>
		  <groupId>com.github.pagehelper</groupId>
		  <artifactId>pagehelper</artifactId>
		  <version>5.1.10</version>
		</dependency>

      <!--整合通用mapper-->
	    <dependency>
	        <groupId>tk.mybatis</groupId>
	         <artifactId>mapper</artifactId>
	         <version>4.0.4</version>
	    </dependency>
 <!----------------------Mybatis end--------------------------->  
        <!-- Mysql 依赖 -->  
        <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-Java</artifactId>  
            <version>5.1.6</version>  
        </dependency> 
       <!--druid数据源-->
	   <dependency>
	      <groupId>com.alibaba</groupId>
	      <artifactId>druid</artifactId>
	      <version>1.0.1</version>
	    </dependency>
	<!-- 序列化:将对象转换为JSON字符串 
	String strJson=JSON.toJSONString(实体对象); 
	反序列化:UserInfo userInfo=JSON.parseObject(json,UserInfo.class); -->
	    <dependency>
	       <groupId>com.alibaba</groupId>
	       <artifactId>fastjson</artifactId>
	       <version>1.2.17</version>
	  </dependency>
       <!--jackson处理对象与JSON之间相互转换-->
       <dependency>
             <groupId>org.codehaus.jackson</groupId>
             <artifactId>jackson-mapper-asl</artifactId>
             <version>1.9.13</version>
        </dependency>
        <dependency>
              <groupId>org.codehaus.jackson</groupId>
              <artifactId>jackson-core-asl</artifactId>
              <version>1.9.13</version>
        </dependency>

        <!--logback日志-->
	    <dependency>
	        <groupId>ch.qos.logback</groupId>
	         <artifactId>logback-core</artifactId>
	         <version>1.1.7</version>
	    </dependency>
	    <dependency>
	         <groupId>org.logback-extensions</groupId>
	         <artifactId>logback-ext-spring</artifactId>
	         <version>0.1.1</version>
	    </dependency>
        <!-- logback扩展包,监听,用于解决与spring的结合-->
	    <dependency>
	         <groupId>ch.qos.logback</groupId>
	         <artifactId>logback-classic</artifactId>
	         <version>1.1.7</version>
	    </dependency>



       <!--文件上传组件包-->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.3</version>
        </dependency>
	    <dependency>
	       <groupId>commons-io</groupId>
	       <artifactId>commons-io</artifactId>
	       <version>2.6</version>
	  </dependency>
	  <!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
	<dependency>
	   <groupId>commons-lang</groupId>
	   <artifactId>commons-lang</artifactId>
	   <version>2.6</version>
	</dependency>

	  <dependency>
	      <groupId>commons-codec</groupId>
	      <artifactId>commons-codec</artifactId>
	      <version>1.11</version>
	  </dependency>

   <!-- JSP相关 -->  
    <dependency>  
         <groupId>jstl</groupId>  
         <artifactId>jstl</artifactId>  
         <version>1.2</version>  
    </dependency>  
    <dependency>  
         <groupId>javax.servlet</groupId>  
         <artifactId>servlet-api</artifactId>  
         <version>2.5</version>  
         <scope>provided</scope>  
    </dependency>  
    <dependency>  
        <groupId>javax.servlet</groupId>  
        <artifactId>jsp-api</artifactId>  
        <version>2.0</version>  
        <scope>provided</scope>  
    </dependency>  

二、配置db.properties

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/test_mybatis?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
jdbc.username = root
jdbc.password = 123456

三、配置logback

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <property name="LOG_HOME" value="D:/Mybatis/logger"/>
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
	  <encoder>
	<pattern>[%thread] %-5level %d{yyyy-MM-dd HH:mm:ss.SSS} %logger{5}[%L] - %msg%n
	</pattern>
	  </encoder>
</appender>
<appender name="APP_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
      <File>${LOG_HOME}/info.log</File>
      <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
     <pattern>[%thread] %-5level %d{yyyy-MM-dd HH:mm:ss.SSS} %logger{5}[%L] - %msg%n</pattern>
    </encoder>
   <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>INFO</level>
  </filter>
	<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">          
		<FileNamePattern>
		      ${LOG_HOME}/backup/info.%d{yyyy-MM-dd}.log
		</FileNamePattern>
	</rollingPolicy>
</appender>
 <appender name="APP_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
       <File>${LOG_HOME}/error.log</File>
   <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
     <pattern>
          [%thread] %-5level %d{yyyy-MM-dd HH:mm:ss.SSS}%logger{5}[%L] - %msg%n
     </pattern>
      </encoder>
      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
          <level>ERROR</level>
      </filter>
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
       <FileNamePattern>
              ${LOG_HOME}/backup/error.%d{yyyy-MM-dd}.log
      </FileNamePattern>
    </rollingPolicy>
</appender>
    <!--日志等级设置-->
     <!--com.xxx路径下的Class 都使用 ERROR 级别输出 -->
	<logger name="com.xxx.*" level="ERROR"/>
 <!-- root级别 (name = dao 实现SQL打印并写入日志文件,与mybatis-config.xml
中的dao.对应)DEBUG -->
    <logger name="dao" level="DEBUG"/>
   <root level="ERROR">
<!--将root的打印级别设置为“ERROR”,指定了名字为“STDOUT”的appender-->
      <!--appender将会添加到这个logger-->
      <appender-ref ref="STDOUT" />
      <appender-ref ref="APP_INFO" />
      <appender-ref ref="APP_ERROR" />
   </root>
</configuration>

四、配置mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
		PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
		"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<!--  Spring整合MyBatis后,MyBatis中配置数据源,事务等一些配置都可以
         迁移到Spring的整合配置中。MyBatis配置文件中只需要配置与MyBatis相关
         的即可。
	 -->
	<!-- settings:包含很多重要的设置项-->
	<settings>
		<!-- 映射下划线到驼峰命名-->
		<setting name="mapUnderscoreToCamelCase" value="true"/>
		<!-- 设置Mybatis对null值的默认处理 -->
		<setting name="jdbcTypeForNull" value="NULL"/>
		<!-- 开启延迟加载 -->
		<setting name="lazyLoadingEnabled" value="true"/>
		<!-- 设置加载的数据是按需还是全部 -->
		<setting name="aggressiveLazyLoading" value="false"/>
		<!-- 配置开启二级缓存 -->
		<setting name="cacheEnabled" value="true"/>
		<!-- 设置日志打印-->
		<setting name="logPrefix" value="dao."/>
		<setting name="logImpl" value="SLF4J"/>
	</settings>
</configuration>

五、配置applicationContext-dao.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">

<!-- 由db.properties改为*.properties, 这样也会加载其他的属性文件 可以使用 @Value由于父子容器关系,service层(父)的属性文件在springmvc层(子)是读取不到的,子只能读取对象,属性是读取不到的-->
	<!-- 加载配置文件-->
	<context:property-placeholder location="classpath:properties/*.properties"/>
	<!-- 数据库连接池 -->
    <!--引用druid数据源-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          init-method="init" destroy-method="close">
        <!-- 基本属性 url、user、password -->
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <!-- 配置初始化大小、最小、最大 -->
        <property name="initialSize" value="1" />
        <!-- 最小空闲连接数 -->
        <property name="minIdle" value="5" />
        <!-- 最大并发连接数 -->
        <property name="maxActive" value="30"/>
        <!-- 配置获取连接等待超时的时间 -->
        <property name="maxWait" value="60000" />
        <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000" />
        <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="300000" />
        <property name="validationQuery" value="SELECT 'x'" />
        <property name="testWhileIdle" value="true" />
        <property name="testOnBorrow" value="false" />
        <property name="testOnReturn" value="false" />
        <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
        <property name="poolPreparedStatements" value="true" />
        <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
        <!--配置监控统计拦截的filters ,用于显示数据源监控中的sql语句监控 -->
        <property name="filters" value="stat" />
    </bean>
	<!-- 配置sqlsessionFactory -->
  <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--加载mybatis核心配置文件-->
        <property name="configLocation" value="classpath:xml/mybatis-config.xml"/>
        <!--设置数据源-->
        <property name="dataSource" ref="dataSource"/>
        <!--引入映射文件-->
        <property name="mapperLocations" value="classpath:mapping/*.xml" />
        <!--设置类型别名-->
        <property name="typeAliasesPackage" value="com.ning.entity"/>
        <!--引入分页插件-->
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor"></bean>
            </array>
        </property>
    </bean> 
	<!-- Mapper接口MapperScannerConfigurer 为指定包下的Mapper接口批量生成代理实现类.bean的默认id是接口名首字母小写-->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.xxx.mapper"></property>
	</bean>
	<!-- <mybatis-spring:scan base-package="com.xxx.xxx.mapper"/> -->

</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:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    <!--  开启springmvc注解扫描,自动扫描所有controller下的类文件 -->
    <context:component-scan base-package="com.xxx.controller" use-default-filters="false">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

    <!--视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/xxx/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

    <!-- 定义文件上传解析器 -->
    <!-- 配置文件上传,如果没有使用文件上传可以不用配置-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 默认编码 -->
        <property name="defaultEncoding" value="utf-8" />
        <!-- 文件大小最大值 -->
        <property name="maxUploadSize" value="10485760000" />
        <!-- 内存中的最大值 -->
        <property name="maxInMemorySize" value="40960" />
        <!-- 启用是为了推迟文件解析,以便捕获文件大小异常 -->
        <property name="resolveLazily" value="true"/>
    </bean>
    
    <!--加载静态资源-->
    <mvc:default-servlet-handler/>

	<!-- 自动创建代理 对@AspectJ注解的支持 -->
	<!-- 通知spring使用cglib而不是jdk的来生成代理方法 AOP可以拦截到Controller -->
	<aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy>

    <!--MVC驱动-->
    <mvc:annotation-driven>
    <!-- 解决返回String时乱码 -->
    <mvc:message-converters register-defaults="true">
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">
            <property name="supportedMediaTypes">
                <list>
                    <value>text/plain;charset=UTF-8</value>
                    <value>text/html;charset=UTF-8</value>
                    <value>application/json;charset=UTF-8</value>
                </list>
            </property>
        </bean>
    </mvc:message-converters>
    </mvc:annotation-driven>
</beans>

七、配置applicationContext-service.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">
		
	<!-- 扫描包加载Service实现类 -->
	<context:component-scan base-package="com.xxx.service"></context:component-scan>
	
	<!-- 自动创建代理 对@AspectJ注解的支持 -->
	<!-- 通知spring使用cglib而不是jdk的来生成代理方法 AOP可以拦截到Service --> 
	<aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy>
	<!--注册组件-->
	<!--<bean id="sid" class="com.study.utils.Sid"></bean>-->
	
</beans>

八、配置applicationContext-transaction.xml

   <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:aop="http://www.springframework.org/schema/aop"
	   xmlns:tx="http://www.springframework.org/schema/tx"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">

	<!--声明事务控制器对mybatis操作数据库事务控制,spring使用jdbc的事务控制类-->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<!-- 数据源 -->
		<property name="dataSource" ref="dataSource" />
	</bean>

	<!--开启事务注解驱动 -->
	<tx:annotation-driven transaction-manager="transactionManager" />
	<!-- 通知 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<!-- 传播行为 -->
			<!--
		PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
		PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
		PROPAGATION_MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。
		PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
		PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
		PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
		PROPAGATION_NESTED:支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。
            -->
			<tx:method name="save*" propagation="REQUIRED" />
			<tx:method name="insert*" propagation="REQUIRED" />
			<tx:method name="add*" propagation="REQUIRED" />
			<tx:method name="create*" propagation="REQUIRED" />
			<tx:method name="delete*" propagation="REQUIRED" />
			<tx:method name="update*" propagation="REQUIRED" />
			<tx:method name="display*" propagation="REQUIRED" />
			<tx:method name="do*" propagation="REQUIRED" />
			<tx:method name="query*" propagation="SUPPORTS" read-only="true" />
			<tx:method name="find*" propagation="SUPPORTS" read-only="true" />
			<tx:method name="select*" propagation="SUPPORTS" read-only="true" />
			<tx:method name="get*" propagation="SUPPORTS" read-only="true" />
		</tx:attributes>
	</tx:advice>
	<!-- 切面 -->
	<aop:config>
		<aop:advisor advice-ref="txAdvice" pointcut="execution(* com.study.service..*.*(..))" />
	</aop:config>
</beans>

九、配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

 <!--spring字符编码过滤器,解决post乱码-->
 <filter>
 	<filter-name>CharacterEncodingFilter</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>
 </filter>
 <filter-mapping>
 	<filter-name>CharacterEncodingFilter</filter-name>
 	<url-pattern>/*</url-pattern>
 </filter-mapping>
 
 <!-- REST过滤器 -->
 <filter>
 	<filter-name>HiddenHttpMethodFilter</filter-name>
 	<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
 </filter>
 <filter-mapping>
 	<filter-name>HiddenHttpMethodFilter</filter-name>
 	<url-pattern>/*</url-pattern>
 </filter-mapping>

<!--加载spring容器-->
<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath:spring/applicationContext-*.xml</param-value>
</context-param>
<!--自定义日志记录配置文件的位置,要配置在ContextLoaderListener之前-->
<context-param>
       <param-name>logbackConfigLocation</param-name>
       <param-value>classpath:xml/logback.xml</param-value>
   </context-param>
<!-- 配置Spring监听器 -->
	<listener>
	    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

 <!-- springmvc的前端控制器 -->
	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->
		<init-param>
			<!-- 默认找 /WEB-INF/[servlet的名称]-servlet.xml -->
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring/springmvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<!-- 1. /* 拦截所有 jsp js png .css 真的全拦截 建议不使用 2. *.action *.do 拦截以do action结尾的请求 肯定能使用 ERP 3. / 拦截所有 (不包括jsp) (包含.js .png.css) 强烈建议使用 前台 面向消费者 www.jd.com/search
            /对静态资源放行 -->
		<url-pattern>*.action</url-pattern>
	</servlet-mapping>
</web-app>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值