SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7

一 创建项目

  1. 创建SSM项目–>选择Maven Project,然后Next
    SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第1张图片

  2. 设置项目路径,然后Next
    SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第2张图片

  3. 选择项目类型 选择Artifact Id为maven-archetype-webapp,然后Next
    SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第3张图片

  4. 设置名称,然后Finish
    SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第4张图片

  5. 完成后项目结构,此处报错正常,因为没有导入包
    SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第5张图片

  6. 项目结构并不完整,完整就忽略,右键项目->Source Folder创建目录

src/main/resources

src/main/java

src/test/resources

src/test/java

若无法创建目录,是因为目录路径存在,只需要在对应目录下右键->Folder创建相应目录就可以
7. 完成后结构如下
SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第6张图片
8. 简单的创建几个包,可根据实际和个人爱好创建
src/main/java 目录下如下图
SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第7张图片
9. 在src/mian/webapp/WEB-INF下创建 jsps 目录,如下图
SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第8张图片

二 导入包,并配置pom.xml

先引入以下几种核心包:

  spring核心包 
  mybatis核心包 
  spring-mybatis整合包 
  MySQL连接包 
   jstl标签类 
  日志包 
  json解析包

pom.xml文件如下

<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.0modelVersion>
    <groupId>com.demogroupId>
    <artifactId>testartifactId>
    <packaging>warpackaging>
    <version>0.0.1-SNAPSHOTversion>
    <name>test Maven Webappname>
    <url>http://maven.apache.orgurl>
     <properties>
            
            <spring.version>4.0.2.RELEASEspring.version>
            
            <mybatis.version>3.2.6mybatis.version>
            
            <slf4j.version>1.7.7slf4j.version>
            <log4j.version>1.2.17log4j.version>
        properties>

    <dependencies>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>3.8.1version>
            <scope>testscope>
        dependency>

        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-coreartifactId>
            <version>${spring.version}version>
        dependency>

        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webartifactId>
            <version>${spring.version}version>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-oxmartifactId>
            <version>${spring.version}version>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-txartifactId>
            <version>${spring.version}version>
        dependency>

        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-jdbcartifactId>
            <version>${spring.version}version>
        dependency>

        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
            <version>${spring.version}version>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-aopartifactId>
            <version>${spring.version}version>
        dependency>

        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-context-supportartifactId>
            <version>${spring.version}version>
        dependency>

        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-testartifactId>
            <version>${spring.version}version>
        dependency>
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>${mybatis.version}version>
        dependency>
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatis-springartifactId>
            <version>1.2.2version>
        dependency>
        
        <dependency>
            <groupId>javaxgroupId>
            <artifactId>javaee-apiartifactId>
            <version>7.0version>
        dependency>
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>5.1.30version>
        dependency>
        
        <dependency>
            <groupId>commons-dbcpgroupId>
            <artifactId>commons-dbcpartifactId>
            <version>1.2.2version>
        dependency>
        
        <dependency>
            <groupId>jstlgroupId>
            <artifactId>jstlartifactId>
            <version>1.2version>
        dependency>
        
        
        <dependency>
            <groupId>log4jgroupId>
            <artifactId>log4jartifactId>
            <version>${log4j.version}version>
        dependency>


        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>fastjsonartifactId>
            <version>1.1.41version>
        dependency>


        <dependency>
            <groupId>org.slf4jgroupId>
            <artifactId>slf4j-apiartifactId>
            <version>${slf4j.version}version>
        dependency>

        <dependency>
            <groupId>org.slf4jgroupId>
            <artifactId>slf4j-log4j12artifactId>
            <version>${slf4j.version}version>
        dependency>
        
        
        <dependency>
            <groupId>org.codehaus.jacksongroupId>
            <artifactId>jackson-mapper-aslartifactId>
            <version>1.9.13version>
        dependency>
        
        <dependency>
            <groupId>commons-fileuploadgroupId>
            <artifactId>commons-fileuploadartifactId>
            <version>1.3.1version>
        dependency>
        <dependency>
            <groupId>commons-iogroupId>
            <artifactId>commons-ioartifactId>
            <version>2.4version>
        dependency>
        <dependency>
            <groupId>commons-codecgroupId>
            <artifactId>commons-codecartifactId>
            <version>1.9version>
        dependency>
    dependencies>
    <build>
        <finalName>testfinalName>
    build>
project>

三 配置整合

在src/main/resources目录下创建配置文件如下
SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第9张图片
log4j.properties 文件如下

    #定义LOG输出级别  
    log4j.rootLogger=INFO,Console,File  
    #定义日志输出目的地为控制台  
    log4j.appender.Console=org.apache.log4j.ConsoleAppender  
    log4j.appender.Console.Target=System.out  
    #可以灵活地指定日志输出格式,下面一行是指定具体的格式  
    log4j.appender.Console.layout = org.apache.log4j.PatternLayout  
    log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n  

    #文件大小到达指定尺寸的时候产生一个新的文件  
    log4j.appender.File = org.apache.log4j.RollingFileAppender  
    #指定输出目录  
    log4j.appender.File.File = logs/test.log  
    #定义文件最大大小  
    log4j.appender.File.MaxFileSize = 10MB  
    # 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志  
    log4j.appender.File.Threshold = ALL  
    log4j.appender.File.layout = org.apache.log4j.PatternLayout  
    log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n 

jdbc.properties 文件如下

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1/test
username=root
password=root
#定义初始连接数  
initialSize=0  
#定义最大连接数  
maxActive=20  
#定义最大空闲  
maxIdle=20  
#定义最小空闲  
minIdle=1  
#定义最长等待时间  
maxWait=60000

spring-mybatis.xml文件如下

  
    <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.1.xsd    
                            http://www.springframework.org/schema/context    
                            http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                            http://www.springframework.org/schema/mvc    
                            http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  
        
        <context:component-scan base-package="com.test" /> 
           
        <bean id="propertyConfigurer"  
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
            <property name="location" value="classpath:jdbc.properties" />  
        bean>  

        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  
            destroy-method="close">  
            <property name="driverClassName" value="${driver}" />  
            <property name="url" value="${url}" />  
            <property name="username" value="${username}" />  
            <property name="password" value="${password}" />  
              
            <property name="initialSize" value="${initialSize}">property>  
              
            <property name="maxActive" value="${maxActive}">property>  
              
            <property name="maxIdle" value="${maxIdle}">property>  
              
            <property name="minIdle" value="${minIdle}">property>  
              
            <property name="maxWait" value="${maxWait}">property>  
        bean>  

          
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
            <property name="dataSource" ref="dataSource" />  
            <property name="configLocation" value="classpath:com/test/mybatis/mybatis-config.xml">property>
              
            <property name="mapperLocations" value="classpath:com/test/mybatis/mapping/*.xml">property>  
        bean>  

          
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
            <property name="basePackage" value="com.test.dao" />  
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property>  
        bean>  

          
        <bean id="transactionManager"  
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
            <property name="dataSource" ref="dataSource" />  
        bean>  
beans>

spring-mvc.xml 文件如下

  
    <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.1.xsd    
                            http://www.springframework.org/schema/context    
                            http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                            http://www.springframework.org/schema/mvc    
                            http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  
          
        <context:component-scan base-package="com.test.controller" />  

          
        <bean id="mappingJacksonHttpMessageConverter"  
            class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
            <property name="supportedMediaTypes">  
                <list>  
                    <value>text/html;charset=UTF-8value>  
                list>  
            property>  
        bean>  
          
        <bean  
            class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
            <property name="messageConverters">  
                <list>  
                    <ref bean="mappingJacksonHttpMessageConverter" />   
                list>  
            property>  
        bean>  
          
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
              
            <property name="prefix" value="/WEB-INF/jsps/" />  
            <property name="suffix" value=".jsp" />  
        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" />    
        bean>   

    beans>  

web.xml 文件如下

  
<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_3_0.xsd"  
    version="3.0"> 

    <display-name>Archetype Created Web Applicationdisplay-name>  
      
    <context-param>  
        <param-name>contextConfigLocationparam-name>  
        <param-value>classpath:spring-mybatis.xmlparam-value>  
    context-param>  
      
    <filter>  
        <filter-name>encodingFilterfilter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>  
        <async-supported>trueasync-supported>  
        <init-param>  
            <param-name>encodingparam-name>  
            <param-value>UTF-8param-value>  
        init-param>  
    filter>  
    <filter-mapping>  
        <filter-name>encodingFilterfilter-name>  
        <url-pattern>/*url-pattern>  
    filter-mapping>  
      
    <listener>  
        <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>  
    listener>  
      
    <listener>  
        <listener-class>org.springframework.web.util.IntrospectorCleanupListenerlistener-class>  
    listener>  

      
    <servlet>  
        <servlet-name>SpringMVCservlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>  
        <init-param>  
            <param-name>contextConfigLocationparam-name>  
            <param-value>classpath:spring-mvc.xmlparam-value>  
        init-param>  
        <load-on-startup>1load-on-startup>  
        <async-supported>trueasync-supported>  
    servlet>  
    <servlet-mapping>  
        <servlet-name>SpringMVCservlet-name>   
        <url-pattern>/url-pattern>  
    servlet-mapping>  


    <welcome-file-list>  
        <welcome-file>/index.jspwelcome-file>  
    welcome-file-list>  

web-app> 

此时若启动项目会报一个找不到位置的错误,因为我们配置了mybatis配置文件的路径,但却没有这个文件
这里写图片描述

解决方法如下:
在com.test.mybatis包中新建mybatis-config.xml文件
mybatis-config.xml 文件如下




<configuration>
    
    <settings>
      
        <setting name="cacheEnabled" value="true" />
            
        <setting name="lazyLoadingEnabled" value="false" />
          
        <setting name="multipleResultSetsEnabled" value="true" />
          
        <setting name="useColumnLabel" value="true" />
          
        <setting name="useGeneratedKeys" value="false" />
          
        <setting name="defaultExecutorType" value="SIMPLE" />
         
        <setting name="defaultStatementTimeout" value="25000" />
        
        
    settings>

configuration>

目录如下图
SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第10张图片
此时就可以删除这个包下的占位文件了

四 配置Tomcat7并发布项目

  1. 打开Window->preferences 选择service ->Runtime Environments
    SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第11张图片

  2. 点击add
    SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第12张图片

  3. 选择tomcat 7.0,然后Next下一步
    SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第13张图片

  4. 选择本地jdk,然后Finish,将项目添加进tomcat并启动
    SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第14张图片
    出现这些的时候表示成功启动

  5. 进入浏览器运行项目
    SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7_第15张图片


项目成功配置完成

扩展:写法和步骤

第二章中会将数据库数据显示到页面,想了解具体的写法和步骤
点击 第二章:ssm执行数据库操作的具体写法和步骤

你可能感兴趣的:(SpringMvc 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7)