IntelliJ IDEA 搭建基于Maven 的SSM(一)(spring,springMvc,Mybatis)框架整合

一,搭建项目骨架

  使用Idea搭建基于Maven的单模块(即Dao,service,controller以及webapp均在一个父模块中)css

1.File->New project建立基于Maven的web项目html

2.填写基本的项目信息:java

3.选择Maven所在的本地目录,以及配置文件setting.xml的位置mysql

ps:在maven的配置文件setting.xml文件中mirrors节点下配置阿里云的远程仓库镜像地址,可让项目的目录结构生成以及jar包的下载速度变快.web

<mirror>
	  <id>alimaven</id>
	  <name>aliyun maven</name>
	  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	  <mirrorOf>central</mirrorOf>        
</mirror>

4.项目信息填写spring

5.完成后 ,等待idea生成相应的目录结构sql

因为该目录结构并不完整,在File->Project  Structure上补充完整的目录,同时将目录标记成相应的颜色数据库

    

二:配置文件

  1. pom.xm 
           

    基本上每一个jar包都有注释(在这里笔者没有具体划分每一个jar包的做用范围,致使有些jar包在整合简单的demo中其实并无用到)
  2. <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>com.chuyu.web</groupId>
      <artifactId>web-ssm</artifactId>
      <packaging>war</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>web-ssm Maven Webapp</name>
      <url>http://maven.apache.org</url>
      <properties>
        <!-- spring 版本号 -->
        <spring.version>4.0.2.RELEASE</spring.version>
        <!-- mybatis版本号 -->
        <mybatis-version>3.2.6</mybatis-version>
        <!-- 日志版本 -->
        <slf4j-version>1.7.7</slf4j-version>
        <log4j-version>1.2.17</log4j-version>
        <!-- Junit版本号-->
        <Junit-version>4.5</Junit-version>
        <!-- mysql驱动版本号 -->
        <mysql-driver.version>5.1.29</mysql-driver.version>
      </properties>
      <dependencies>
        <!--导入spring依赖的jar包-->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</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-oxm</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-jdbc</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-aop</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context-support</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <!-- mybatis核心包 -->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>${mybatis-version}</version>
        </dependency>
        <dependency>
          <!-- mybatis-spring -->
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>1.2.2</version>
        </dependency>
        <!-- 添加mysql驱动依赖 -->
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>${mysql-driver.version}</version>
        </dependency>
        <!-- 添加数据库链接池依赖 -->
        <!--<dependency>
          <groupId>commons-dbcp</groupId>
          <artifactId>commons-dbcp</artifactId>
          <version>1.2.2</version>
        </dependency>-->
      <!--druids数据链接池-->
        <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.0.18</version>
      </dependency>
    
    
        <!-- 添加fastjson -->
        <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>fastjson</artifactId>
          <version>1.1.41</version>
        </dependency>
        <!-- 添加日志相关jar包 -->
        <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>${log4j-version}</version>
        </dependency>
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>${slf4j-version}</version>
        </dependency>
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>${slf4j-version}</version>
        </dependency>
    
        <!-- 其余JSON,在springmvc配置文件中json绑定可能会用到 -->
        <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-mapper-asl</artifactId>
          <version>1.9.13</version>
        </dependency>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
          <version>2.8.0</version>
        </dependency>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
          <version>2.8.0</version>
        </dependency>
        <!--其余工具包-->
        <dependency>
          <groupId>commons-fileupload</groupId>
          <artifactId>commons-fileupload</artifactId>
          <version>1.3.1</version>
        </dependency>
        <dependency>
          <groupId>commons-io</groupId>
          <artifactId>commons-io</artifactId>
          <version>2.4</version>
        </dependency>
        <dependency>
          <groupId>commons-codec</groupId>
          <artifactId>commons-codec</artifactId>
          <version>1.9</version>
        </dependency>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>${Junit-version}</version>
          <scope>test</scope>
        </dependency>
        <!-- jstl -->
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2</version>
        </dependency>
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>2.5</version>
        </dependency>
    
      </dependencies>
      <build>
        <plugins>
      <!-- mybatis的自动生成dao.xml的插件 -->
          <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.2</version>
          </plugin>
        </plugins>
        <!--配置Maven 对resource文件 过滤 -->
        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <includes>
              <include>**/*.properties</include>
              <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
          </resource>
          <resource>
            <directory>src/main/java</directory>
            <includes>
              <include>**/*.properties</include>
              <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
          </resource>
        </resources>
        <finalName>web-ssm</finalName>
      </build>
    </project>

     

  3. application.xml

    1. <?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"
             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">
      
      <!--配置包扫描的完整包名-->
      <context:component-scan base-package="com.chuyu.ssm"/>
      
      <!--导入其余的配置文件-->
          <import resource="spring-mybatis.xml"/>
      </beans>

       

  4. jdbc.properties

    1. driverClasss=com.mysql.jdbc.Driver
      jdbcUrl=jdbc:mysql://localhost:3306/quick4j?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
      username=root
      password=123456
      #定义初始链接数
      initialSize=0
      #定义最大链接数
      maxActive=20
      #定义最小空闲
      minIdle=1
      #定义最长等待时间
      maxWait=60000
      timeBetweenEvictionRunsMillis=28800

       

  5. log4j.properties

    1. 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=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n
      
      #普通文件日志
      log4j.appender.File=org.apache.log4j.RollingFileAppender
      log4j.appender.File.File=E:/IdeaProjects/web-ssm/src/main/logs/SSM.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][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n

       

  6. spring-mybatis.xml

    1. <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
             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.xsd
              http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
      
      
      <!-- 引入配置文件 -->
          <bean id="propertityConfigure"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
              <property name="location" value="classpath:jdbc.properties"/>
          </bean>
          <!-- 第二种方式:加载多个properties文件-->
          <!--<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
              <property name="locations">
                  <list>
                      <value>classpath:jdbc.properties</value>
                      <value>classpath:common.properties</value>
                  </list>
              </property>
              <property name="fileEncoding" value="UTF-8"/>
          </bean>
          -->
          <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
                init-method="init" destroy-method="close">
              <property name="driverClassName" value="${driverClasss}"/>
              <property name="url" value="${jdbcUrl}"/>
              <property name="username" value="${username}"/>
              <property name="password" value="${password}"/>
              <!-- 初始化链接大小 -->
              <property name="initialSize" value="${initialSize}"></property>
              <!-- 链接池最大数量 -->
              <property name="maxActive" value="${maxActive}"></property>
              <!-- 链接池最小空闲 -->
              <property name="minIdle" value="${minIdle}"></property>
              <!-- 获取链接最大等待时间 -->
              <property name="maxWait" value="${maxWait}"></property>
              <!-- 配置间隔多久才进行一次检测,检测须要关闭的空闲链接,单位是毫秒 -->
              <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" />
              <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>
          <!-- mybatis和spring完美整合,不须要mybatis的配置映射文件 -->
          <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
              <property name="dataSource" ref="dataSource"/>
              <!-- 自动扫描mapping.xml文件 -->
              <property name="mapperLocations" value="classpath:com/chuyu/ssm/dao/*-Mapper.xml"/>
          </bean>
          <!-- Dao借口所在的包名 -->
          <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
              <property name="basePackage" value="com.chuyu.ssm.dao" />
              <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
          </bean>
          <!-- 事物管理 -->
          <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
              <property name="dataSource" ref="dataSource" />
          </bean>
          <!--注解驱动-->
          <tx:annotation-driven transaction-manager="transactionManager"/>
      </beans>

      处处spring整合mybatis的部分完成,若是为了测试是否整合成功,能够在src/main/test 包中新建测试类 ,验证是否连通数据库再整合springMvc.apache

    2. 测试类以下json

      import com.alibaba.fastjson.JSON;
      import com.chuyu.ssm.model.User_Dao;
      import com.chuyu.ssm.service.inte.User_loginServices;
      import org.junit.Test;
      import org.junit.runner.RunWith;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.test.context.ContextConfiguration;
      import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
      
      @RunWith(SpringJUnit4ClassRunner.class)
      @ContextConfiguration(locations ="classpath*:application.xml")
      public class TestUser_loginservice {
      
          @Autowired
          private User_loginServices user_loginServices;
          @Test
          public  void  test1(){
             User_Dao user=user_loginServices.selectUser("admin", "123456");
              System.out.println(JSON.toJSON(user));
      
          }
      
      }

      这里采用的是Junit4.5的测试方法.其中的service部分的代码能够参考后面章节.

      PS:若是比较熟练能够省掉此处测试步骤
  7. spring-mvc.xml

  8. <?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/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    
       <!--注解驱动 -->
       <!-- 
           会自动注册RequestMappingHandlerMapping与RequestMappingHandlerAdapter两个Bean(spring3.0之后的版本),
          这是Spring MVC为@Controller分发请求所必需的,而且提供了数据绑定支持,
          @NumberFormatannotation支持,@DateTimeFormat支持,
           @Valid支持读写XML的支持(JAXB)和读写JSON的支持(默认Jackson)等功能。
         -->
        <mvc:annotation-driven/>
        <!-- 自动扫描  @Controller-->
        <context:component-scan base-package="com.chuyu.ssm.controller"/>
        <!--避免IE执行AJAX时,返回JSON出现下载文件 -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
            <property name="messageConverters">
                <!-- 解释JSON -->
                <list>
                    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                        <property name="supportedMediaTypes">
                            <list>
                                <value>text/html;charset=UTF-8</value>
                                <value>text/json;charset=UTF-8</value>
                                <value>application/json;charset=UTF-8</value>
                            </list>
                        </property>
                    </bean>
                </list>
            </property>
        </bean>
        <!-- 定义跳转的文件的先后缀 ,视图模式配置 -->
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsp/" />
            <property name="suffix" value=".jsp"/>
        </bean>
        <!-- 文件上传配置 -->
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- 默认编码 -->
            <property name="defaultEncoding" value="UTF-8"/>
            <!-- 上传文件大小限制为31M,31*1024*1024 -->
            <property name="maxUploadSize" value="32505856"/>
            <!-- 内存中的最大值 -->
            <property name="maxInMemorySize" value="4096"/>
        </bean>
    
    
    </beans>

    7.web.xm

    <?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_3_0.xsd"
             id="WebApp_ID" version="3.0">
    <display-name>Archetype Created Web Application</display-name>
    
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:application.xml</param-value>
        </context-param>
    
        <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:log4j.properties</param-value>
        </context-param>
    
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
    
        <!-- 防止spring内存溢出监听器,好比quartz -->
        <listener>
            <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
        </listener>
        <listener>
            <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
        </listener>
    
        <!-- 编码过滤器 -->
        <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>
        </filter>
        <filter-mapping>
            <filter-name>encodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
        <!--druid过滤器filter-->
        <filter>
            <filter-name>DruidWebstateFilter</filter-name>
            <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
            <init-param>
                <param-name>exclusions</param-name>
                <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>DruidWebstateFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
        
    
        <!-- spring mvc servlet-->
        <servlet>
            <servlet-name>SpringMVC</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:spring-mvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>SpringMVC</servlet-name>
            <!-- 此处也能够配置成 *.do 形式 -->
            <url-pattern>*.action</url-pattern>
        </servlet-mapping>
    
        <!--servlet for Druid-->
        <servlet>
            <servlet-name>DruidStatView</servlet-name>
            <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
            <!--
                配置访问权限:
                deny优先于allow,若是在deny列表中,就算在allow列表中,也会被拒绝。
                若是allow没有配置或者为空,则容许全部访问
             -->
            <!--
            <init-param>
                <param-name>allow</param-name>
                <param-value>128.242.127.1/24,127.0.0.1</param-value>
            </init-param>
            <init-param>
                <param-name>deny</param-name>
                <param-value>192.168.1.118</param-value>
            </init-param>
            -->
            <!-- 在StatViewSerlvet输出的html页面中,有一个功能是Reset All,执行这个操做以后,会致使全部计数器清零,从新计数 -->
            <init-param>
                <param-name>resetEnable</param-name>
                <param-value>false</param-value>
            </init-param>
            <init-param>
                <param-name>loginUsername</param-name>
                <param-value>admin</param-value>
            </init-param>
            <init-param>
                <param-name>loginPassword</param-name>
                <param-value>123456</param-value>
            </init-param>
          </servlet>
        <servlet-mapping>
            <servlet-name>DruidStatView</servlet-name>
            <url-pattern>/druid/*</url-pattern>
        </servlet-mapping>
        <welcome-file-list>
            <welcome-file>/index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>

     

三,测试代码的编写

        1.Dao层以及接口文件:

   利用mybatis的插件Mybatis-generaotr-plugin生成实体类,Dao文件以及*Mapper.xml

映射文件:(具体步骤见:http://www.javashuo.com/article/p-pakvmorc-et.html)

        2.service层代码清单

@Service
public class User_loginServiceImpl implements User_loginServices {
    @Autowired
    private User_DaoMapper user_dao;

    @Override
    public User_Dao selectUser(String userName, String userPassword) {
        User_DaoExample example=new User_DaoExample();
        User_DaoExample.Criteria condition=example.createCriteria();
        condition.andUsernameEqualTo(userName);
        condition.andPasswordEqualTo(userPassword);
        List<User_Dao> user_list=user_dao.selectByExample(example);
        if(!CollectionUtils.isEmpty(user_list)){
            return user_list.get(0);
        }
        return null;    

    }
}

        3.Action层代码清单

    以简单的登陆逻辑演示

@Controller
@RequestMapping("/userLogin")
public class UserLoginAction {
    @Autowired
    private User_loginServices user_loginServices;

    @RequestMapping("/authentication")
    public String userLogin(User_Dao paramDao){
        User_Dao user=user_loginServices.selectUser(paramDao.getUsername(), paramDao.getPassword());
        if (user!=null){
            System.out.println(JSON.toJSON(user));
            return "success";
        }
        return "fail";
    }

}

        4.前台页面

以简单的登陆界面来演示整合的SSM,登陆成功则跳转到成功页面,失败则跳转到失败页面

因为在配置文件中指定的前缀为/web-inf/jsp/ ,全部在web/info下新建jsp文件夹

index.jsp代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <base href="<%=basePath%>">
</head>
<br>
<h2>登陆界面!</h2>
<form action="<%=basePath%>userLogin/authentication.action" method="post">
<label>用户名:</label><input type="text" name="username"></br>
<label>&nbsp;&nbsp;&nbsp;密码:</label><input type="text" name="password"/></br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button type="submit">提交</button>
</form>
</body>
</html>

其余登陆成功和失败跳转的页面即在body里面添加内容以做区分便可.

    5:数据库    

    本例以Mysql为例,创建一个简单的表包含id,username,password 便可做为测试用

四:Tomcat的部署

   1.先打包成war包

对应Maven的各个生命周期,包括插件的知识详见:http://www.javashuo.com/article/p-qzqijvtt-hm.html

(打包过程当中可能会出现:

[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored 
(webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true') 

解决办法:

pom文件添加一下内容:

<plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-war-plugin</artifactId>  
                <version>2.1.1</version>  
                <configuration>  
                    <packagingExcludes>WEB-INF/web.xml</packagingExcludes>    
                </configuration>  
            </plugin>

)

  2.点击Edit Configurations

3.添加一个Tomcat服务器

4.配置服务器参数

5.部署jar包,填写访问跟路径名

6:运行部署

点击Tomcat7旁边的运行按钮启动项目,若是没有启动异常,打开浏览器访问http://localhost:8080/web-ssm

访问:

至此,做为一个简单的整合SSM结束,后续也会在这个基础上做进一步的优化,包括数据的缓存,模块的划分(Maven 继承与聚合),分布式框架的集群搭建,以及Nginx的负载均衡等

相关文章
相关标签/搜索