使用Maven+ssm框架搭建一个web项目
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后,放到前面也可以!如下:
浏览器:
殊途同归!没毛病!
本人菜鸟一枚,如有错误,还请各位批评指正!
使用Maven+ssm框架搭建一个web项目的更多相关文章
- 使用maven命令终端构建一个web项目及发布该项目
构建环境: maven版本:3.3.9 系统平台:Windows7 x64 JDK版本:1.7 构建步骤: 1.打开maven安装目录,在地址栏输入cmd进入命令窗口 2.输入命令mvn archet ...
- MyBatis整合Spring+SpringMVC搭建一个web项目(SSM框架)
本文讲解如何搭建一个SSM架构的web站点 [工具] IDEA.SqlYog.Maven [简述] 该项目由3个模块组成:dao(数据访问层).service(业务处理层).web(表现层) dao层 ...
- 1.SpringBoo之Helloword 快速搭建一个web项目
背景: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配 ...
- 1.SpringBoot之Helloword 快速搭建一个web项目
背景: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配 ...
- ssm整合总结(一)--第一步之使用maven搭建一个web项目
本文内容来自:山硅谷,本文内容整合了任务2,任务3,任务4内容.http://www.gulixueyuan.com/my/course/50 1说明 1.1该项目使用的知识点有 1.1.1校验方式是 ...
- Maven+SSM框架搭建【spring+springmvc+mybatis】
本案例用到:ssm[spring+springmvc+mybatis]框架 数据库:mysql (推荐使用mysql 或者 sqlserver .oracle太大,一般大型项目才会用到) 开发工具: ...
- maven/ssm框架搭建
好久没有写java了,昨天学了下maven,不用手动的下载和添加jar包,实在是太方便. ------------------------------------------------------- ...
- 如何搭建一个WEB服务器项目(一)—— 开篇 ,搭建SSH整合框架
使用Intellij IDEA2019创建SSH(Spring+SpringMVC+Hibernate+Maven整合)项目 观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解, ...
- SSM框架搭建web服务器实现登录功能(Spring+SpringMVC+Mybatis)
初学java EE,虽然知道使用框架会使开发更加便捷高效,但是对于初学者来说,感到使用框架比较迷惑,尤其是各种jar包的引用.各种框架的配置.注解的使用等等. 最好的学习方法就是实践,于是下载了一个现 ...
随机推荐
- Life Winner Bo HDU - 5754
Bo is a "Life Winner".He likes playing chessboard games with his girlfriend G. The size of ...
- phpmyadmin getshell
执行SQL语句:SET GLOBAL general_log = ON
- h5手机端禁止缩放问题
最近测试html5页面,发现默认都允许用户缩放页面,或者在屏幕双击放大或缩小.即相当于这样设置 <meta name="viewport" content="wid ...
- CRM WEB UI 03搜索界面新建按钮调到详细界面
这个和上一个差不多,简单说下: 1.因为NEW是在创建搜索界面的时候加的,所以此时只需在结果界面重定义NEW事件: method EH_ONNEW. OP_NEW( ). endmethod. 2.结 ...
- (待解决,效率低下)47. Permutations II C++回溯法
思路是在相似题Permutations的基础上,将结果放到set中,利用set容器不会出现重复元素的特性,得到所需结果 但是利用代码中的/* */部分通过迭代器遍历set将set中的元素放在一个新的v ...
- PostgreSQL主备流复制机制
原文出处 http://mysql.taobao.org/monthly/2015/10/04/ PostgreSQL在9.0之后引入了主备流复制机制,通过流复制,备库不断的从主库同步相应的数据,并在 ...
- Python---字典常用方法总结
字典是一种key-value的数据类型,字典里必须写Key和value,字典的优点是取数方便和速度快.字典的特性: 1.字典是无序的,因为它没有下标,用key来当索引,所以是无序的 2.字典的key必 ...
- [LeetCode] 295. Find Median from Data Stream ☆☆☆☆☆(数据流中获取中位数)
295. Find Median from Data Stream&数据流中的中位数 295. Find Median from Data Stream https://leetcode.co ...
- kali-rolling安装openvas 9并创建扫描任务教程
一. 前置说明 官方:漏洞扫描中最常用和强大的是某个”N“开头的漏洞扫描器(nessus),但由于许可证限制,kali中并未安装该漏洞扫描器.取而代之安装了nessus收费之后发起的开源版本openv ...
- PHP隐藏版本号教程
PHP本身并不启监听服务,所以预防扫描器扫描通过版本号判断漏洞,我们要隐藏的是http头处的版本号,而不是隐藏系统命令行处的版本号. 1.查看当前php版本号 访问一当前服务中的任意页面,截取响应数据 ...