IDEA整合Spring+Springmvc+mybatis+maven

一、创建maven项目

  1. File -> New Module,进入创建项目窗口

  2. 点击Next,填写GroupId、ArtifactId和Version

  3. 接着下一步,这里需要注在Properties中添加一个参数 archetypeCatalog=internal,不加这个参数,在maven生成骨架的时候将会非常慢,有时候直接卡住。来自网上的解释:
    archetypeCatalog表示插件使用的archetype元数据,不加这个参数时默认为remote,local,即中央仓库archetype元数据,由于中央
    仓库的archetype太多了所以导致很慢,指定internal来表示仅使用内部元数据。
    《摘自:http://blog.csdn.net/gallenzhang/article/details/51932152》

  4. NEXT,填写项目名称

  5. FINISH,完整结构图如下

注意事项:
  1. 刚才创建的MAVEN项目,web.xml默认是servlet2.3版本,版本较低,需要手动改为servlet3.0以上版本,如图:
 
修改为下面代码即可
[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"  
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee  
  5.                       http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"  
  6.          version="3.1"  
  7.          metadata-complete="true">  
  8. </web-app>  
2. src/main下面目录不全,缺少test,java等目录,也需要手动完善
首先打开Project Structure - Modules,修改如下:

二、配置文件

  1. pom.xml
    [html]  view plain  copy
    1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
    3.   
    4.   <modelVersion>4.0.0</modelVersion>  
    5.   <groupId>com.alex.app</groupId>  
    6.   <artifactId>ssh-demo</artifactId>  
    7.   <packaging>war</packaging>  
    8.   <version>1.0</version>  
    9.   
    10.   <properties>  
    11.     <!-- base setting -->  
    12.     <java.version>1.8</java.version>  
    13.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    14.     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
    15.   
    16.     <!--lib setting-->  
    17.     <spring.version>4.3.3.RELEASE</spring.version>  
    18.     <jackson.version>2.6.3</jackson.version>  
    19.   
    20.   </properties>  
    21.   
    22.   <dependencies>  
    23.     <dependency>  
    24.       <groupId>junit</groupId>  
    25.       <artifactId>junit</artifactId>  
    26.       <version>4.11</version>  
    27.       <scope>test</scope>  
    28.     </dependency>  
    29.   
    30.     <!-- slf4j,logback组合 -->  
    31.     <dependency>  
    32.       <groupId>org.slf4j</groupId>  
    33.       <artifactId>slf4j-api</artifactId>  
    34.       <version>1.7.22</version>  
    35.     </dependency>  
    36.     <dependency>  
    37.       <groupId>org.slf4j</groupId>  
    38.       <artifactId>slf4j-log4j12</artifactId>  
    39.       <version>1.7.21</version>  
    40.     </dependency>  
    41.     <dependency>  
    42.       <groupId>log4j</groupId>  
    43.       <artifactId>log4j</artifactId>  
    44.       <version>1.2.17</version>  
    45.     </dependency>  
    46.   
    47.   <!-- mysql connector-->  
    48.     <dependency>  
    49.       <groupId>mysql</groupId>  
    50.       <artifactId>mysql-connector-java</artifactId>  
    51.       <version>5.1.39</version>  
    52.       <scope>runtime</scope>  
    53.     </dependency>  
    54.     <dependency>  
    55.       <groupId>c3p0</groupId>  
    56.       <artifactId>c3p0</artifactId>  
    57.       <version>0.9.1.1</version>  
    58.     </dependency>  
    59.   
    60.     <!-- DAO框架:mybatis-->  
    61.     <dependency>  
    62.       <groupId>org.mybatis</groupId>  
    63.       <artifactId>mybatis</artifactId>  
    64.       <version>3.4.1</version>  
    65.     </dependency>  
    66.     <dependency>  
    67.       <groupId>org.mybatis</groupId>  
    68.       <artifactId>mybatis-spring</artifactId>  
    69.       <version>1.3.0</version>  
    70.     </dependency>  
    71.   
    72.     <!-- servlet 相关依赖-->  
    73.     <dependency>  
    74.       <groupId>taglibs</groupId>  
    75.       <artifactId>standard</artifactId>  
    76.       <version>1.1.2</version>  
    77.     </dependency>  
    78.     <dependency>  
    79.       <groupId>javax.servlet</groupId>  
    80.       <artifactId>jstl</artifactId>  
    81.       <version>1.2</version>  
    82.     </dependency>  
    83.     <dependency>  
    84.       <groupId>com.fasterxml.jackson.core</groupId>  
    85.       <artifactId>jackson-databind</artifactId>  
    86.       <version>2.6.7</version>  
    87.     </dependency>  
    88.     <dependency>  
    89.       <groupId>javax.servlet</groupId>  
    90.       <artifactId>javax.servlet-api</artifactId>  
    91.       <version>3.1.0</version>  
    92.     </dependency>  
    93.   
    94.     <!--spring依赖-->  
    95.     <!--1)核心依赖-->  
    96.     <dependency>  
    97.       <groupId>org.springframework</groupId>  
    98.       <artifactId>spring-core</artifactId>  
    99.       <version>${spring.version}</version>  
    100.     </dependency>  
    101.     <dependency>  
    102.       <groupId>org.springframework</groupId>  
    103.       <artifactId>spring-beans</artifactId>  
    104.       <version>${spring.version}</version>  
    105.     </dependency>  
    106.     <dependency>  
    107.       <groupId>org.springframework</groupId>  
    108.       <artifactId>spring-context</artifactId>  
    109.       <version>${spring.version}</version>  
    110.     </dependency>  
    111.     <!--2)spring DAO-->  
    112.     <dependency>  
    113.       <groupId>org.springframework</groupId>  
    114.       <artifactId>spring-jdbc</artifactId>  
    115.       <version>${spring.version}</version>  
    116.     </dependency>  
    117.     <dependency>  
    118.       <groupId>org.springframework</groupId>  
    119.       <artifactId>spring-tx</artifactId>  
    120.       <version>${spring.version}</version>  
    121.     </dependency>  
    122.     <!--3)spring web-->  
    123.     <dependency>  
    124.       <groupId>org.springframework</groupId>  
    125.       <artifactId>spring-web</artifactId>  
    126.       <version>${spring.version}</version>  
    127.     </dependency>  
    128.     <dependency>  
    129.       <groupId>org.springframework</groupId>  
    130.       <artifactId>spring-webmvc</artifactId>  
    131.       <version>${spring.version}</version>  
    132.     </dependency>  
    133.     <!--4)spring test-->  
    134.     <dependency>  
    135.       <groupId>org.springframework</groupId>  
    136.       <artifactId>spring-test</artifactId>  
    137.       <version>${spring.version}</version>  
    138.     </dependency>  
    139.   
    140.     <!-- aspectjweaver -->  
    141.     <dependency>  
    142.       <groupId>org.aspectj</groupId>  
    143.       <artifactId>aspectjweaver</artifactId>  
    144.       <version>1.8.7</version>  
    145.     </dependency>  
    146.     <dependency>  
    147.       <groupId>org.aspectj</groupId>  
    148.       <artifactId>aspectjrt</artifactId>  
    149.       <version>1.8.7</version>  
    150.     </dependency>  
    151.   
    152.     <!-- 常用工具-->  
    153.     <!-- jackson -->  
    154.     <dependency>  
    155.       <groupId>com.fasterxml.jackson.core</groupId>  
    156.       <artifactId>jackson-core</artifactId>  
    157.       <version>${jackson.version}</version>  
    158.     </dependency>  
    159.     <dependency>  
    160.       <groupId>com.fasterxml.jackson.core</groupId>  
    161.       <artifactId>jackson-databind</artifactId>  
    162.       <version>${jackson.version}</version>  
    163.     </dependency>  
    164.     <!-- apache common-->  
    165.     <dependency>  
    166.       <groupId>org.apache.commons</groupId>  
    167.       <artifactId>commons-lang3</artifactId>  
    168.       <version>3.4</version>  
    169.     </dependency>  
    170.   
    171.   </dependencies>  
    172.   
    173.   <build>  
    174.     <finalName>ssh-demo</finalName>  
    175.     <plugins>  
    176.       <!-- 指定编译JDK版本 -->  
    177.       <plugin>  
    178.         <artifactId>maven-compiler-plugin</artifactId>  
    179.         <version>3.1</version>  
    180.         <executions>  
    181.           <execution>  
    182.             <id>default-compile</id>  
    183.             <phase>compile</phase>  
    184.             <goals>  
    185.               <goal>compile</goal>  
    186.             </goals>  
    187.           </execution>  
    188.         </executions>  
    189.         <configuration>  
    190.           <source>${java.version}</source>  
    191.           <target>${java.version}</target>  
    192.           <encoding>${project.build.sourceEncoding}</encoding>  
    193.         </configuration>  
    194.       </plugin>  
    195.       <plugin>  
    196.         <groupId>org.mybatis.generator</groupId>  
    197.         <artifactId>mybatis-generator-maven-plugin</artifactId>  
    198.         <version>1.3.2</version>  
    199.         <configuration>  
    200.           <verbose>true</verbose>  
    201.           <overwrite>true</overwrite>  
    202.         </configuration>  
    203.       </plugin>  
    204.     </plugins>  
    205.   </build>  
    206. </project>  


  2. generator.properties
    [plain]  view plain  copy
    1. jdbc.driverLocation=C:\\Users\\ALEX\\.m2\repository\\mysql\\mysql-connector-java\\5.1.30\\mysql-connector-java-5.1.30.jar  
    2. jdbc.driverClass=com.mysql.jdbc.Driver  
    3. jdbc.connectionURL=jdbc:mysql://127.0.0.1:3306/sshdemo  
    4. jdbc.userId=root  
    5. jdbc.password=sp6161266  


  3. generatorConfig.xml
    [html]  view plain  copy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <!DOCTYPE generatorConfiguration  
    3.  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
    4.  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
    5.   
    6. <generatorConfiguration>  
    7.     <!--导入属性配置 -->  
    8.     <properties resource="generator.properties"></properties>  
    9.     <classPathEntry location="C:\Users\ALEX\.m2\repository\mysql\mysql-connector-java\5.1.30\mysql-connector-java-5.1.30.jar"/>  
    10.     <context id="DB2Tables"  targetRuntime="MyBatis3">  
    11.         <commentGenerator>  
    12.             <property name="suppressDate" value="true"/>  
    13.             <property name="suppressAllComments" value="true"/>  
    14.         </commentGenerator>  
    15.         <jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.connectionURL}" userId="${jdbc.userId}" password="${jdbc.password}">  
    16.         </jdbcConnection>  
    17.   
    18.         <javaModelGenerator targetPackage="com.sshdemo.app.demo.model" targetProject="src\main\java">  
    19.             <property name="enableSubPackages" value="true"/>  
    20.             <property name="trimStrings" value="true"/>  
    21.         </javaModelGenerator>  
    22.         <sqlMapGenerator targetPackage="com.sshdemo.app.demo.dao.mapper" targetProject="src\main\java">  
    23.             <property name="enableSubPackages" value="true"/>  
    24.         </sqlMapGenerator>  
    25.         <javaClientGenerator type="XMLMAPPER" targetPackage="com.sshdemo.app.demo.dao" targetProject="src\main\java">  
    26.             <property name="enableSubPackages" value="true"/>  
    27.         </javaClientGenerator>  
    28.   
    29.         <table tableName="demo" domainObjectName="DemoEntity" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>  
    30.     </context>  
    31. </generatorConfiguration>  


  4. jdbc.properties
    [plain]  view plain  copy
    1. driver=com.mysql.jdbc.Driver  
    2. url=jdbc:mysql://127.0.0.1:3306/sshdemo?useUnicode=true&characterEncoding=utf-8  
    3. username=root  
    4. password=sp6161266  
    5.   
    6. idleConnectionTestPeriod=60  
    7. maxIdleTime=240  
    8. acquireIncrement=5  
    9. initialPoolSize=10  
    10. maxPoolSize=30  
    11. minPoolSize=10  
    12. autoCommitOnClose=false  
    13. checkoutTimeout=1000  
    14. acquireRetryAttempts=2  


  5. log4j.properties
    [plain]  view plain  copy
    1. log4j.rootLogger=INFO,Console,File  
    2.   
    3. #控制台日志  
    4. log4j.appender.Console=org.apache.log4j.ConsoleAppender  
    5. log4j.appender.Console.Target=System.out  
    6. log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
    7. log4j.appender.Console.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n  
    8.   
    9. #普通文件日志  
    10. log4j.appender.File=org.apache.log4j.RollingFileAppender  
    11. log4j.appender.File.File=logs/ssm.log  
    12. log4j.appender.File.MaxFileSize=10MB  
    13. #输出日志,如果换成DEBUG表示输出DEBUG以上级别日志  
    14. log4j.appender.File.Threshold=ALL  
    15. log4j.appender.File.layout=org.apache.log4j.PatternLayout  
    16. log4j.appender.File.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n  


  6. spring-mvc.xml
    [html]  view plain  copy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <beans xmlns="http://www.springframework.org/schema/beans"  
    3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"  
    4.        xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"  
    5.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">  
    6.   
    7.     <!-- 扫描controller(controller层注入) -->  
    8.     <context:component-scan base-package="com.sshdemo.app.*.controller" />  
    9.   
    10.     <mvc:annotation-driven>  
    11.         <!-- 支持返回json(避免IE在ajax请求时,返回json出现下载 ) -->  
    12.         <mvc:message-converters>  
    13.             <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
    14.                 <property name="supportedMediaTypes">  
    15.                     <list>  
    16.                         <value>application/json;charset=UTF-8</value>  
    17.                     </list>  
    18.                 </property>  
    19.                 <property name="objectMapper">  
    20.                     <bean class="com.fasterxml.jackson.databind.ObjectMapper">  
    21.                         <!-- 配置默认的json输出日期格式 -->  
    22.                         <property name="dateFormat">  
    23.                             <bean class="java.text.SimpleDateFormat">  
    24.                                 <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />  
    25.                             </bean>  
    26.                         </property>  
    27.                     </bean>  
    28.                 </property>  
    29.             </bean>  
    30.         </mvc:message-converters>  
    31.     </mvc:annotation-driven>  
    32.   
    33.     <!-- 对静态资源文件的访问 -->  
    34.     <mvc:resources mapping="/*" location="/resources/" cache-period="31556926" />  
    35.   
    36.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"  
    37.           p:prefix="/WEB-INF/views/"  
    38.           p:suffix=".jsp"/>  
    39.   
    40. </beans>  


  7. spring-mybatis.xml
    [html]  view plain  copy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <beans xmlns="http://www.springframework.org/schema/beans"  
    3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
    4.        xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"  
    5.        xmlns:context="http://www.springframework.org/schema/context"  
    6.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">  
    7.   
    8.     <!-- 自动扫描包 ,将带有注解的类 纳入spring容器管理 -->  
    9.     <context:component-scan base-package="com.sshdemo.app"></context:component-scan>  
    10.   
    11.     <!-- 引入配置文件 -->  
    12.     <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
    13.         <property name="locations">  
    14.             <list>  
    15.                 <value>classpath*:jdbc.properties</value>  
    16.             </list>  
    17.         </property>  
    18.     </bean>  
    19.   
    20.     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"  
    21.           p:driverClass="${driver}"  
    22.           p:jdbcUrl="${url}"  
    23.           p:user="${username}"  
    24.           p:password="${password}"  
    25.           p:idleConnectionTestPeriod="${idleConnectionTestPeriod}"  
    26.           p:maxIdleTime="${maxIdleTime}"  
    27.           p:acquireIncrement="${acquireIncrement}"  
    28.           p:initialPoolSize="${initialPoolSize}"  
    29.           p:maxPoolSize="${maxPoolSize}"  
    30.           p:minPoolSize="${minPoolSize}"  
    31.           p:autoCommitOnClose="${autoCommitOnClose}"  
    32.           p:checkoutTimeout="${checkoutTimeout}"  
    33.           p:acquireRetryAttempts="${acquireRetryAttempts}"  
    34.           p:preferredTestQuery="SELECT 1"  
    35.           p:maxConnectionAge="3000" />  
    36.   
    37.     <!-- mybatis文件配置,扫描所有mapper文件 -->  
    38.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
    39.         <property name="dataSource" ref="dataSource" />  
    40.         <property name="mapperLocations">  
    41.             <list>  
    42.                 <value>classpath*:com/sshdemo/app/**/dao/mapper/*Mapper.xml</value>  
    43.             </list>  
    44.         </property>  
    45.     </bean>  
    46.   
    47.     <!-- spring与mybatis整合配置,扫描所有dao -->  
    48.     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"  
    49.           p:basePackage="com.sshdemo.app..*.dao"  
    50.           p:sqlSessionFactoryBeanName="sqlSessionFactory"/>  
    51.   
    52.     <!-- 对dataSource 数据源进行事务管理 -->  
    53.     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"  
    54.           p:dataSource-ref="dataSource"/>  
    55.   
    56.     <!-- 事务管理 通知 -->  
    57.     <tx:advice id="txAdvice" transaction-manager="transactionManager">  
    58.         <tx:attributes>  
    59.             <!-- 对insert,update,delete 开头的方法进行事务管理,只要有异常就回滚 -->  
    60.             <tx:method name="add*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>  
    61.             <tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>  
    62.             <tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>  
    63.             <tx:method name="save*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>  
    64.             <tx:method name="edit*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>  
    65.             <tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>  
    66.             <!-- select,count开头的方法,开启只读,提高数据库访问性能 -->  
    67.             <tx:method name="select*" read-only="true"/>  
    68.             <tx:method name="count*" read-only="true"/>  
    69.             <!-- 对其他方法 使用默认的事务管理 -->  
    70.             <tx:method name="*"/>  
    71.         </tx:attributes>  
    72.     </tx:advice>  
    73.   
    74.     <!-- 事务 aop 配置 -->  
    75.     <aop:config>  
    76.         <aop:pointcut id="serviceMethods" expression="execution (* com.sshdemo.app.*.service.*.*(..))"/>  
    77.         <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods"/>  
    78.     </aop:config>  
    79.   
    80.     <!-- 启用对事务注解的支持 -->  
    81.     <tx:annotation-driven transaction-manager="transactionManager"/>  
    82.   
    83. </beans>  


  8. web.xml
    [html]  view plain  copy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"  
    3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    4.          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee  
    5.                       http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"  
    6.          version="3.1"  
    7.          metadata-complete="true">  
    8.   
    9.     <!-- 配置Spring配置文件路径 -->  
    10.     <context-param>  
    11.         <param-name>contextConfigLocation</param-name>  
    12.         <param-value>classpath*:spring-mybatis.xml</param-value>  
    13.     </context-param>  
    14.     <context-param>  
    15.         <param-name>log4jConfigLocation</param-name>  
    16.         <param-value>classpath:log4j.properties</param-value>  
    17.     </context-param>  
    18.   
    19.     <!-- 配置Spring上下文监听器 -->  
    20.     <listener>  
    21.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
    22.     </listener>  
    23.     <!-- 防止spring内存溢出监听器,比如quartz -->  
    24.     <listener>  
    25.         <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>  
    26.     </listener>  
    27.   
    28.     <!-- 配置Spring字符编码过滤器 -->  
    29.     <filter>  
    30.         <filter-name>encodingFilter</filter-name>  
    31.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
    32.         <init-param>  
    33.             <param-name>encoding</param-name>  
    34.             <param-value>UTF-8</param-value>  
    35.         </init-param>  
    36.         <init-param>  
    37.             <param-name>forceEncoding</param-name>  
    38.             <param-value>true</param-value>  
    39.         </init-param>  
    40.     </filter>  
    41.     <filter-mapping>  
    42.         <filter-name>encodingFilter</filter-name>  
    43.         <url-pattern>/*</url-pattern>  
    44.     </filter-mapping>  
    45.   
    46.     <!-- Spring MVC 核心控制器 DispatcherServlet 配置 -->  
    47.     <servlet>  
    48.         <servlet-name>dispatcher</servlet-name>  
    49.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    50.         <init-param>  
    51.             <param-name>contextConfigLocation</param-name>  
    52.             <param-value>  
    53.                 classpath*:spring-mvc.xml  
    54.             </param-value>  
    55.         </init-param>  
    56.         <load-on-startup>1</load-on-startup>  
    57.     </servlet>  
    58.     <servlet-mapping>  
    59.         <servlet-name>dispatcher</servlet-name>  
    60.         <url-pattern>/</url-pattern>  
    61.     </servlet-mapping>  
    62.   
    63.     <!-- 首页 -->  
    64.     <welcome-file-list>  
    65.         <welcome-file>/index.jsp</welcome-file>  
    66.     </welcome-file-list>  
    67.   
    68.     <!-- 错误页 -->  
    69.     <error-page>  
    70.         <error-code>404</error-code>  
    71.         <location>/resources/views/404.jsp</location>  
    72.     </error-page>  
    73.     <error-page>  
    74.         <error-code>500</error-code>  
    75.         <location>/resources/views/500.jsp</location>  
    76.     </error-page>  
    77.   
    78.     <!-- session配置 -->  
    79.     <session-config>  
    80.         <session-timeout>30</session-timeout>  
    81.     </session-config>  
    82.   
    83. </web-app>  


三、运行

  1. 创建generator
    Project Structure - +号 - maven,设置如下:


  2. 创建tomcat容器
Project Structure - tomcat - local,设置如下:
 

运行结果:
最终项目结构截图:

猜你喜欢

转载自blog.csdn.net/weixin_40813139/article/details/79011132