1,前期准备:Eclipse(Mars.2 Release (4.5.2))、jdk1.7、tomcat7、maven3.2.1

2、使用eclipse中的maven新建一个web项目

点击next;

这里的项目路径默认就好,也可以用箭头处的自定义浏览路径,继续next;

在这里面输入web,如上选择,点击next;

 

如上,这里是我的项目名称、域名、版本号以及包名;

点击finish,eclipse左上方自动生成项目;

 

 

 

2,详细解决一些报错

首先,右键项目,选择properties,更改jdk。

 

 

 

java Compiler level的版本与项目不匹配,换成匹配的就好了,我这里的level是1.7的。

 

 

 

 

 再次右键properties,如下:

 

如上,这里的右侧两个箭头的版本不对,我使用的是jdk1.7,则应该分别将两个版本该成3.0和1.7。如果此时,在这里更改,无效,会报错

别急,我们点击Project Explorer右侧的Navigator视图。(这个navigator翻译过来就是领航员,这里个人觉得应该是总览这个项目的管理视图吧。。。)

 

点开如上的xml文件。

 

 这里你个人的jdk使用的什么版本,就改为哪个版本,把1.5和2.3改成1.7和3.0即可。web项目的版本在jdk1.7后必须是3.0,不然项目会报错。

再次右键properties,看看此时的各个版本号已经更改成功。

更改过后,项目还是会报错,右键刷新一下项目就可以了。

3、开始配置SSM的xml文件

这里的相关xml文件,放在src/main/resources目录下。以前用springMVC的时候有一个配置文件叫做applicationContext.xml,这里不需要,我们做的是Spring、Mybatis和SrpingMVC的整合。

需要三个配置文件即可。

首先下载Spring,Mybatis和SpringMVC所需jar包,我们需要在pom文件下配置,如下:

上面的pom文件既包含了ssm整合所需的jar包,又包括了log4j日志文件、json对象转换、数据源(我这里用的是druid数据源)、文件上传、单元测试以及数据库驱动(这里是mysql)的jar包,这里的jar包版本不是最高的,如果换成最高版本的话,会报错,不兼容。

接下来,建立src/main/java下的文件,我这里使用的是generator模板生成的dao、model以及mapping文件,非常方便,如果没用过,请看我的另一篇文章:https://www.cnblogs.com/yuxifly828/p/9078231.html

生成完毕,

 

 

此时,还缺少controller控制层,service业务逻辑层,加上就ok

 

                                                                                                                             

接下来,配置Spring的配置文件,ssm整合的配置文件除了web.xml,其他的都在src/main/resources文件夹下;

新建spring.xml:

 

 spring-mybatis结合的xml:

jdbc数据库连接文件:

接下来,整合spring和mybatis,建立service和实现类:

 

 

在src/test/java文件夹下建立测试类:

右键,测试运行:

 

结果如下:

看看我的数据库中有没有这个名字:

 

 ok,spring和mybatis完美整合成功!

接下来,把springmvc和加入其中,使三者整合:

老样子,在src/main/resources下建立spring-mvc.xml配置文件:

 

 

搞定之后,配置文件完成了,但是谁去加载他们呢?当然是web.xml文件加载他们,我们配置web.xml:

搞定!

编写一个UserController测试:

在WEB-INF下建立一个jsp文件夹,因为上面spring-mvc.xml中这里

配置了返回页面的前后缀,不加找不到路径:

在jsp文件夹下建立一个showUser.jsp页面:

注意编码方式为utf-8;

此时,将项目添加到tomcat中去,启动tomcat。

打开浏览器:输入以下地址:

http://localhost:8080/Maven_ssmTest/UserController/showUser.do?id=1

成功!到此maven整合ssm框架结束!

但是。。。。。。

上面浏览器地址中传参数的方式有点不符合springmvc的设计初衷,springmvc3.0后的rest风格传参方式更好,看着更加赏心悦目!

so,我们更改一下:

上面把id占位符写到了请求路径中,在使用@PathVariable 将url请求中的id的值绑定到showUser方法中的参数id上,这样,我们前端浏览器请求的路径就

不一样了。如下:

这样请求也是可以的!更加美观!符合rest风格!

有人说不想把那个1放到showUser后,放到前面也可以!如下:

浏览器:

殊途同归!没毛病!

本人菜鸟一枚,如有错误,还请各位批评指正!