idea springmvc_SpringMVC基础入门教程+整合SSM,小白必备!!idea+maven测试

我自己是一名从事了多年开发的JAVA老程序员,今年年初我花了一个月整理了一份最适合2019年学习的java学习干货,可以送给每一位喜欢java的小伙伴,想要获取的可以关注我的头条号并在后台私信我:【交流】,即可免费获取。

Spring MVC介绍

Spring MVC 是Spring框架中用于Web应用开发得一个模块,是Spring提供得一个基于MVC设计模式得优秀得Web开发框架,本质上相当于servlet。在MVC设计模式中,SpringMVC作为控制器(Controller)来建立模型与视图得数据交互,是结构最清晰得MVC Model2实现,可称为一个典型得MVC框架。Spring MVC得结构比较复杂,下面我们通过搭建MVC得环境,并实现简单例子来了解Spring mvc。

b47ef77db33b471dbc2097ccdb01c3dd

1.Spring MVC搭建环境

1.1Spring MVC搭建环境流程

9a7b13c5b69c45f09ed517b7be11ec06

以上为我maven pom配置文件导入的架包,记得版本一定要对应,否则容易引发未知错误。

Spring MVC配置:

2.1在web.xml中配置Servlet,定义DispatcherServlet:

Spring MVC是基于Servlet得,那DispatcherServlet是整个Sping mvc框架得核心,它负责截获请求并将其分派给相应得处理器处理。首先就得进行DispatcherServlet配置,我们在web.xml中进行操作:

007c2705ca43440ea0d81346dba08ea9

在配置得时候,我们通过contextConfigLocation参数来指定Spring MVC配置文件得位置,此处使用Spring资源路径得方式进行指定(classpath:springmvc-servlet.xml)

2.2创建Spring MVC得配置文件–视图解析器

在resources目录下面新建名叫springmvc-servlet.xml得配置文件

fbcf6da73b2e4ccdb3c6e71ea671296a

3.创建Controller(处理请求得控制器,等于servlet)

在同级目录下创建controller包,创建一个名叫IndexController的层

699de2bb2a1a4023951f42949dfca9ac

4.创建view层(我们用JSP作为视图进行测试)

在第二步我们配置了视图解析器,根据定义的prefix(前缀)–WEB-INF/jsp/和suffix(后缀).jsp,我们在WEB-INF下创建jsp包,定义index.jsp

4553fc624d9d4eb497cf7804251fd9c9
3af399d9466244a89a82f8f28428b8f0

控制器IndexController返回的逻辑视图名称为index,通过视图解析器,会将视图逻辑名解析为/WEB-INF/jsp/index.jsp,得到真正的视图名。

5.部署运行(Tomcat)

前面所有工作完成后,在idea中部署tomcat

41b2c6afaa124783baa2ed4762dacbbf

最后进行测试,在控制台输入http://localhost:8080/ch09spingmvcshili_war/index1

2ab21db80c784b1dba59c4813bcd2bd6

2.Spring MVC框架的请求处理流程

下面我们通过一张图来了解下Springmvc的请求流程

71d27f05c3c9442ab4d49f1f14cc9be7

首先用户发送到请求到前端控制器(DispatcherServlet),前端控制处理器根据请求信息(URL)来选择哪个控制器(Controller)来进行处理,并把请求委托给它

页面控制器接收到请求后,进行业务处理,处理完毕后返回一个ModelAndView

前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的真正视图,并把模型数据传入以便将视图进行渲染。

2.1Spring MVC框架的特点

  1. 清晰的角色划分。Spring MVC在model,view,controller方面提供了一个非常清晰的角色划分
  2. 灵活的配置功能。因为Spring的核心时IoC,同样在实现MVC上,也可以把各种类当作Bean来通过XML进行配置。
  3. 提供了大量的控制器接口和实现类。开发者可以使用Spring提供的控制器实现类,也可以自己实现控制器接口。
  4. 真正做到与view层的实现无关,使用更加灵活
  5. 国际化支持
  6. 面向接口编程
  7. Spring提供了Web应用开发的一整套流程。

2.2MVC的参数传递

前面我们搭建了MVC的环境以及实现了controller和view的映射,简单的实现了页面导航,下面我们来实现把view层的数据传递以及controller把值传给前台

9548e33c82b64fc29286554a5c8caded
8c2a625841fb4436a62f5411c5034646

需要注意的是?后面的username必须对应方法名字,才能获取到,这里我们只是测试拼接,运行正确会在页面上显示,admin!!

2.2.1view层传输数据到controller

使用一个form表单做示范,例如我现在要把form表单上text得值在后台进行处理,并且把你输入得值打印到另外一个页面上进行显示:

index.jsp:

4cd26ccc8bd44355a7b7f55bed70ed9d
a8d2c7715d0042e28c496bfec5ba2862

indexs.jsp:

2fd660982f944b7bb5ba58d436bcdffb

我们把需要得页面和后台准备好之后开始测试,启动tomcat:

45d05ab146d34f10b47bf2ec3a956415
81c10841ea4b4962b46625a1259a895f
073c37f85ca14546b9b9da06e362547d

从这里可以看到,我们测试成功了。

3.整合SSM项目

  1. 导入jar包
8a2fddcb6cf34f4fbacdc94ad22669d5

上面为我整个项目得所有架包,文件上传得架包可以不加!!主要添加得还是spring得核心架包。

2.编写配置文件

前面我们已经会编写Springmvc得配置文件了,现在我们只需要配置Spring和mybatis得配置文件了,下面直接贴代码

mybatis-config.xml:

ebffa8c9de644f81bb64b24401df6c62

和log4j.properties:

5e884e1bad4543338c57bbc97f35b6b9

applicationContext.xml:

9d70c32531194de190785b0f4c6ba10e

编写完得项目结构如图:

fb8939c71efa49738b7c767a10bdd0f4

最后我们只要有在springmvc-servlet.xml中把spring导入进去

springmvc-servlet.xml:

2eb9442be62848f396fddcf2183cb2ba

这样我们得配置文件就编写成功了。

4. 运行测试

我们使用一个简单得登陆来测试ssm部署是否成功,首先编写登陆需要得mapper层和biz层,这里不做示范,下面贴上controller层得代码:

33e98960b6844cd9b9476bd5e432eb62

login.jsp:

ac5f8f8ca0e347d5b7d3b5f772ef4573

最后我们进行测试

b9546de7a5ff44e7bed6a7817f72c377

这样我们得smm项目部署成功,如果有什么疑问,可以私聊把项目发你!!

3.1静态资源文件得引用

我们会发现如果要引入jss文件或者css,会发现它们无法起效得,因为web.xml中得DispatcherServlet请求映射会拦截所有web容器得请求,现在我们在mvc得配置文件中进行映射:

首先在webapp下面创建静态资源包

d2df02ce73bd42b687da806e43995b05

再springmvc-servlet.xml中添加:

4521bee97028484182c8cbfc1011d59e

实际引用:

这里也必须要加项目得绝对路径!!这样就配置成功了


作者: 马男波杰克

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值