第一个SSM整合的Maven入门级项目(超详细步骤)
环境
jdk:1.8
Tomcat:7.0
本地mysql:8.0
Eclipse:Eclipse Jee Photon
Spring:4.3.8
AOP:1.8.0
mybatis:3.3.0
Mysql驱动:8.0.11
Druid:1.1.10
jstl:1.2
log4j:1.2.17
junit:3.8.1
项目目录结构
数据库设计
运行效果
代码下载
https://download.csdn.net/download/badao_liumang_qizhi/10939695
实现
环境搭建
1.下载Maven并配置好。
2.创建Maven项目时设置JDK,
eclipse创建maven项目时,显示的JDK默认版本为1.5,实际使用的JDK为1.8。
修改参照:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/86184775
创建项目
1.使用Eclipse--File--New--Maven project
2.点击next
3.再点击next
4.选择maven-archetype-webapp,点击next
5.输入项目相关信息Group Id(组织名)、Artifact Id(项目名)点击Finish
建成后的目录
配置新建的项目
1.右击项目--Build Path--Configure Build Path
2.找到Libraries,可以看到此时JRE默认是1.5的.
JRE是Java Runtime Environment缩写,指Java运行环境,是Sun的产品。
运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
3.点击JRE System Libray [J2SE-1.5] --点击Remove--Apply
4.移除完之后再点击Add Libray
5.然后选择JRE System Library,点击next
6.选择自己本地对应的JRE,这里是JRE1.8,点击Finish
7.这时可以看到已经将JRE改为1.8了,点击Apply and Close。
8.回来再点击Add Library,选择Server Runtime
9. 选中Tomcat并点击Finish
10.配置完之后应该为下面这样,点击Apply and Close
11.Eclipse设置Server好Tomcat,Windows--Preferences--Server--Runtime Environment,如果已经有了就选中后点击Edit,如果没有则点击Add。
12.这里点击编辑,选择本地Tomcat的目录,并将JRE修改过来。
12.查看项目信息
右击项目--Properties--Project Facets,可以看到此时的Dynamic Web Services为2.3,java为1.5 ,
Dynamic Web Services为3.0以上才有web.xml,而且如果想要使用Tomcat8.5的话,也要修改。
找到Eclipse的工作目录下的项目目录下的.settings文件夹下的org.eclipse.wst.common.project.facet.core.xml
用编辑器打开
修改之前
修改之后
返回Eclipse,刷新项目,右击项目,选择refresh
刷新之后再看到,已经自动更改过来了。
同步配置项目
打开Eclipse下maven项目下的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" xmlns:web="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">
修改Maven项目的pom.xml
修改之前的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.0</modelVersion><groupId>com.badao</groupId><artifactId>ssmTest</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>ssmTest Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><build><finalName>ssmTest</finalName></build>
</project>
修改为:
<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.bdao</groupId><artifactId>ssmTest</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>ssm Maven Webapp</name><url>http://maven.apache.org</url><build><finalName>ssmTest</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin>
</plugins></build></project>
更新项目
右击项目--Maven--Update Project
选择要更新的项目,点击OK
添加项目依赖
修改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.0</modelVersion><groupId>com.bdao</groupId><artifactId>ssmTest</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>ssm Maven Webapp</name><url>http://maven.apache.org</url><properties><!-- Spring版本号 --><spring.version>4.3.8.RELEASE</spring.version></properties><dependencies><!-- Spring相关包 --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</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-web</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-tx</artifactId><version>${spring.version}</version></dependency><!-- AOP相关包 --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>1.8.0</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.0</version></dependency><!-- MyBatis相关包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version></dependency><!-- MySQL相关包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version></dependency><!-- 数据库连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version></dependency><!-- Spring集成MyBatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.3</version></dependency><!-- JSP标准标签库 --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- 日志相关包 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.21</version></dependency><!-- 单元测试相关包 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><build><finalName>ssmTest</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin>
</plugins></build></project>
保存后可以看到相关依赖已经被加载
完善项目结构
因为服务端maven项目的标准结构有四个子包:src/main/java、src/main/resources、src/test/java、src/test/resources,
这里缺少了src/test/resources,所以手动补上。
右击test目录--new--Folder
输入resources,点击FInish
编写配置文件
创建log4j.properties
在src--main-resource下右击--new--File
输入log4j.properties
内容如下:
# Global logging configuration
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration...
log4j.logger.com.how2java=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
创建mybatis-config.xml
在 src--main-resource下右击--new--Other
选择XML下的XML File,点击next
名字是mybatis-config.xml ,点击Finish。
在这里我们只配置一个别名,使用typeAliases标签,类型别名,就是一个实体类的名字太长,而且使用频率比较高时,
就给这个全限定的类名起了一个别名。 配置别名是为了在对象映射文件中接受参数类型和返回参数类型时使用。
1.如果是设定单个类的别名:
<typeAlias alias="uesr" type="com.badao.pojo.User"/>
alies:取的别名。
type:这个别名所对应类的Java类。
2.如果是设置这个包下的所有类的别名:
<typeAliases><package name="com.badao.pojo" /></typeAliases>
默认是类名小写。
3.mybatis-config.xml 内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 设置别名 --><typeAliases><package name="com.badao.pojo" /></typeAliases>
</configuration>
创建spring-mvc.xml
同上也在此目录下新建spring-mvc.xml
1.启用自动扫描
代码:
<context:component-scan base-package="com.badao.*" />
讲解:
自动扫描该包,使SpringMVC认为该包下使用了@Controller 注解的是控制器
2.注册MVC注解驱动
代码:
<mvc:annotation-driven />
讲解:
<mvc:annotation-driven>会自动注册RequestMappingHandlerMapping与RequestMappingHandlerAdapter两个Bean,
这是Spring MVC为@Controller分发请求所必需的,并且提供了数据绑定支持,@NumberFormatannotation支持,
@DateTimeFormat支持,@Valid支持读写XML的支持(JAXB)和读写JSON的支持(默认Jackson)等功能。
3.设置静态资源可访问
代码:
<mvc:default-servlet-handler />
讲解:
在springMVC-servlet.xml中配置<mvc:default-servlet-handler />后,会在Spring MVC上下文中定义一个org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,它会像一个检查员,对进入DispatcherServlet的URL进行筛查,
如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理。
一般Web应用服务器默认的Servlet名称是"default",因此DefaultServletHttpRequestHandler可以找到它。
如果你所有的Web应用服务器的默认Servlet名称不是"default",则需要通过default-servlet-name属性显示指定:
<mvc:default-servlet-handler default-servlet-name="所使用的Web服务器默认使用的Servlet名称" />
4.配置视图解析器
代码:
<!-- 配置视图解析器,可以显式设置,也可以不设置,不设置会依据SpringMVC的默认设置 --><bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean>
讲解:
VIewResolver的作用是根据viewName找到view对象,SpringMVC用于处理视图最重要的两个接口是ViewResolver和View。
ViewResolver的主要作用是把一个逻辑上的视图名称解析为一个真正的视图。
其中name="prefix,配置的前缀,因为这里的jsp文件是放在WEB-INF下的新建的jsp目录.
name="suffix" ,配置后缀,解析以.jsp结尾的.
这样SpringMVC就能在Controller中根据返回的字符串找到要跳转的视图,比如在Controller中:
@RequestMapping("listUser")public ModelAndView listUser(){ModelAndView mav = new ModelAndView();List<User> cs= userService.selectAllUser();// 放入转发参数mav.addObject("userList", cs);// 放入jsp路径mav.setViewName("listUser");return mav;
那么视图就能解析为WEB-INF下的jsp目录下的listUser.jsp
5.完整spring-mvc.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/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 启动自动扫描 --><context:component-scan base-package="com.badao.*" /><!-- 注册MVC注解驱动 --><mvc:annotation-driven /><!-- 静态资源可访问的设置方式 --><mvc:default-servlet-handler /><!-- 配置视图解析器,可以显式设置,也可以不设置,不设置会依据SpringMVC的默认设置 --><bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean>
</beans>
创建spring-mybatis.xml
同上也在此目录下新建spring-mybatis.xml,这是Spring整合Mybatis时的配置文件。
1.定义数据源Bean
代码:
<beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"> <propertyname="url"value="jdbc:mysql://localhost:3306/ssmtest?characterEncoding=UTF-8&useSSL=false" /><property name="username" value="root" /><property name="password" value="123" /></bean>
讲解:
①关于Druid连接池的概念以及属性和使用等参照以下
SSM中使用Druid连接池:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/85120936
②如果项目运行后提示:
对实体 "useSSL" 的引用必须以 ';' 分隔符结尾。
参照:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/86554028
③关于配置文件中url中useSSL=false
参照:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/86554488
④关于配置文件中url中&
参照:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/86554028
2.注册SqlSessionFactoryBean
代码:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><!-- 自动扫描mappers.xml文件 --><property name="mapperLocations" value="classpath:com/badao/mapper/*.xml" /><property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
讲解:
SqlSessionFactoryBean有一个必须属性dataSource。
mapperLocations 属性使用一个资源位置的 list。 这个属性可以用来指定 MyBatis 的 XML 映射器文件的位置。
configLocation指定mybatis配置文件的位置。
3.接口转化为bean
代码:
<!-- DAO接口所在包名,Spring会自动查找其下的类 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.badao.mapper" /><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /></bean>
讲解:
如果数据映射接口很多的话,需要在Spring的配置文件中对数据映射接口做配置,相应的配置项会很多了。
为了简化配置,在MyBatis-Spring中提供了一个转换器MapperScannerConfig它可以将接口转换为Spring容器中的Bean,
在Service中@Autowired的方法直接注入接口实例。MapperScannerConfigurer将扫描basePackage所指定的包下的所有接口类(包括子类),如果它们在SQL映射文件中定义过,则将它们动态定义为一个Spring Bean,这样,我们在Service中就可以直接注入映射接口的bean。
4.spring-mybatis.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:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 定义数据源Bean --><!-- Druid --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><propertyname="url"value="jdbc:mysql://localhost:3306/ssmtest?characterEncoding=UTF-8&useSSL=false" /><property name="username" value="root" /><property name="password" value="123" /></bean><!-- 注册SqlSessionFactoryBean --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><!-- 自动扫描mappers.xml文件 --><property name="mapperLocations" value="classpath:com/badao/mapper/*.xml" /><property name="configLocation" value="classpath:mybatis-config.xml"></property></bean><!-- DAO接口所在包名,Spring会自动查找其下的类 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.badao.mapper" /><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /></bean>
</beans>
编写业务代码
编写POJO
在main下java下新建包com.badao.pojo
在此包下新建User.java
package com.badao.pojo;public class User {private Integer id;private String name;private Integer age;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public User() {super();// TODO Auto-generated constructor stub}public User(Integer id, String name, Integer age) {super();this.id = id;this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}}
新建mapper层
同理再新建包com.badao.mapper
此包下新建UserMapper.java接口
package com.badao.mapper;import java.util.List;
import com.badao.pojo.User;public interface UserMapper {public List<User> selectAllUser();
}
再在此包下新建UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.badao.mapper.UserMapper"><select id="selectAllUser" resultType="User">select * from user </select> </mapper>
新建service层
同理新建包com.badao.service
在此包下新建UserService.java接口
package com.badao.service;import java.util.List;import com.badao.pojo.User;public interface UserService {List<User> selectAllUser();}
再新建包com.badao.service.impl
在此包新建UerServiceImpl.java作为上面的实现类
package com.badao.service.impl;import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import com.badao.mapper.UserMapper;
import com.badao.pojo.User;
import com.badao.service.UserService;
@Service
public class UserServiceImpl implements UserService {@AutowiredUserMapper userMapper;public List<User> selectAllUser() {// TODO Auto-generated method stubreturn userMapper.selectAllUser();}}
新建controller层
同理新建包com.badao.controller
在此包下新建UserController.java
package com.badao.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;import com.badao.pojo.User;
import com.badao.service.UserService;// 告诉spring mvc这是一个控制器类
@Controller
@RequestMapping("")
public class UserController {@AutowiredUserService userService;@RequestMapping("listUser")public ModelAndView listUser(){ModelAndView mav = new ModelAndView();List<User> cs= userService.selectAllUser();// 放入转发参数mav.addObject("userList", cs);// 放入jsp路径mav.setViewName("listUser");return mav;}}
完整业务包结构
编写jsp页面
在webapp下的WEB-INF下新建jsp目录,再在jsp目录下新建listUser.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" import="java.util.*"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%pageContext.setAttribute("APP_PATH", request.getContextPath());
%>
<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>查询所有用户</title>
</head><script type="text/javascript" src="${APP_PATH }/static/js/jquery-1.12.4.min.js"></script>
<link href="${APP_PATH }/static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
<script src="${APP_PATH }/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<body>
<table align='center' border='1' cellspacing='0' class="table table-bordered "<th ><td>id</td><td>name</td><td>age</td></th><c:forEach items="${userList}" var="u"><tr class="active"><td >${u.id}</td><td>${u.name}</td><td>${u.age}</td></tr></c:forEach>
</table></body>
</html>
编写web.xml
打开web.xml,配置spring的配置文件以及spring mvc的配置文件
<?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"xmlns:web="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"><!-- spring的配置文件--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mybatis.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- spring mvc核心:分发servlet --><servlet><servlet-name>mvc-dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- spring mvc的配置文件 --><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>mvc-dispatcher</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>
项目运行前的准备
使用Maven构建项目
在项目上右键,找到Maven下的Update Project
然后点击OK,不出现异常就是正常。
然后再项目上右键,选择run as --maven install
会在控制台输出以下信息:
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.bdao:ssm:war:0.0.1-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 115, column 16
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] ----------------------------< com.bdao:ssm >----------------------------
[INFO] Building ssm Maven Webapp 0.0.1-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ ssm ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ ssm ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ ssm ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ ssm ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ ssm ---
[INFO]
[INFO] --- maven-war-plugin:2.2:war (default-war) @ ssm ---
[INFO] Packaging webapp
[INFO] Assembling webapp [ssm] in [F:\EcpliseWorkspace\ssm\target\ssm]
[INFO] Processing war project
[INFO] Copying webapp resources [F:\EcpliseWorkspace\ssm\src\main\webapp]
[INFO] Webapp assembled in [683 msecs]
[INFO] Building war: F:\EcpliseWorkspace\ssm\target\ssm.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ ssm ---
[INFO] Installing F:\EcpliseWorkspace\ssm\target\ssm.war to D:\Maven\maven-repository\com\bdao\ssm\0.0.1-SNAPSHOT\ssm-0.0.1-SNAPSHOT.war
[INFO] Installing F:\EcpliseWorkspace\ssm\pom.xml to D:\Maven\maven-repository\com\bdao\ssm\0.0.1-SNAPSHOT\ssm-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.241 s
[INFO] Finished at: 2019-02-20T23:06:15+08:00
[INFO] ------------------------------------------------------------------------
如图:
则说明构建成功,前面的配置没有问题。
项目运行
右击项目,选择debug as --debug on server
然后选择前面配置的Tomcat
然后点击Finish,控制台没报异常,启动Tomcat成功。
打开浏览器输入:
http://localhost:8080/ssm/listUser
第一个SSM整合的Maven入门级项目(超详细步骤)相关推荐
- 云服务器部署web项目 超详细步骤 腾讯云 阿里云
购买阿里云服务器ECS,选择CentOS 7.6操作系统 外界用户访问云服务器中实例的示意图 重置实例的密码 设置安全组规则 创建安全组和安全组规则 为安全组添加实例 使用XShell和XFTP连接到 ...
- centos7+tomcat部署JavaWeb项目超详细步骤
转自:https://www.cnblogs.com/xiaohu1218/p/7233162.html 我们平时访问的网站大多都是发布在云服务器上的,比如阿里云.腾讯云等.对于新手,尤其是没有接触过 ...
- Railway Dashboard部署PHP苹果CMS项目的详细步骤
Railway Dashboard部署PHP苹果CMS项目的详细步骤 目录 Railway Dashboard部署PHP苹果CMS项目的详细步骤 1.准备项目文件: 2.创建Dockerfile: 3 ...
- 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤
文章目录 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤 先决条件 步骤 本地运行测试 上传服务器 环境安装 准备django程序 完美解决! 瞬间心情愉 ...
- SSM整合的Maven项目中引入Bootstrap,三步实现高大上插拔UI,后端也有美感
对比效果 引入bootstrap前 引入bootstrap后 实现 第一步下载并引入bootstrap bootstrap3下载 https://v3.bootcss.com/getting-star ...
- ssm如何在mapper插入实时的时间_第一个ssm整合
刚学完狂神说的ssm框架,花了两天时间把狂神的ssm整合项目写完 狂神视频 实现功能 bilibili视频地址 基本骨架 1.环境 IDEA MySQL 8.0 Tomcat 7 Maven 3.6 ...
- SSM整合 登录注册小项目
整合SSM制作登录注册功能 首先 引入pom.xml 配置 对应版本确定无冲突 注意反射插件的引入路径 <?xml version="1.0" encoding=&quo ...
- SSM整合时Maven项目的pom.xml版本兼容的代码备份
场景 jdk:1.8 Tomcat:7.0 本地mysql:8.0 Eclipse:Eclipse Jee Photon Spring:4.3.8 AOP:1.8.0 mybatis:3.3.0 My ...
- 第一个SpringBoot入门级项目(超详细步骤)
开发环境: MyEcplise2017+Maven+SpringBoot+Tomcat 8.5 ① 创建一个新的Maven项目:File-->New-->Others-->Maven ...
最新文章
- 阿里云Ubuntu 14.04 + Nginx + let's encrypt 搭建https访问
- 查询每日规定时间段内的记录
- windows 技巧篇-快捷键占用导致不能输入字母文字解决方法,解除快捷键锁死、卡死方法
- stylecloud.gen_stylecloud() 参数详解
- postgreSQL的索引
- CTF——Web——php 弱类型总结
- linux时间轮 Timing-Wheel的实现
- PHP2002,php - 错误:SQLSTATE [HY000] [2002]没有这样的文件或目录 - SO中文参考 - www.soinside.com...
- 树莓派linux共享目录,树莓派局域网文件共享
- js做小数运算精度问题
- 【ManageEngine】局域网监控软件是什么,有什么作用
- 心海软件学生测试系统,心海软件心理管理系统
- 使用Python实现一个简单的聊天室
- 后羿采集器怎么导出数据_后羿SEO:如何用后羿采集器查收录?(附详细步骤图)...
- html加css做成的简易木马轮播图
- BUUCTF-WEB 【0CTF 2016】piapiapia 1
- Unity3D-rigidBody.velocity
- C++中cout的含义????
- 深信服测试岗面试准备
- [固态硬盘协议 第2回] PCIE 相对 SATA 的 4 大优势详解
热门文章
- linux java调用so文件路径_Linux平台Java调用so库-JNI使用例子
- eureka-server详解
- 圆的半径java_css中的圆形边界半径工件
- dns被自动修改_怎么加速iTunes下载速度 设置DNS方法【介绍】
- android刷机教程视频,Android 设备刷机教程
- 安卓收藏功能怎么实现_从电源芯片的内部设计,看各个功能是怎么实现的
- window上安装mysql_在window上安装mysql - MySQL5.7.24 版本
- 判断一个窗口是否有焦点_判断一个项目是否值得加盟的基本方法
- c++ 如何获取网络时间_云台山茶旅集团如何四年时间获取十万老人的万千目光...
- vim进阶之202007命令记录