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。

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

1.Spring MVC搭建环境

1.1Spring MVC搭建环境流程

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

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

Spring MVC配置:

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

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

<web-app>

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

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

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

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

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

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

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

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

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

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

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

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

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

5.部署运行(Tomcat)

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

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

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

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

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

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

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

首先用户发送到请求到前端控制器(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把值传给前台

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

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

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

2.2.1view层传输数据到controller

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

index.jsp:

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

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

indexs.jsp:

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

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

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

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

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

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

3.整合SSM项目

  1. 导入jar包
SpringMVC基础入门教程+整合SSM,小白必备!!idea+maven测试

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

2.编写配置文件

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

mybatis-config.xml:

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

和log4j.properties:

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

applicationContext.xml:

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

编写完得项目结构如图:

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

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

springmvc-servlet.xml:

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

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

4. 运行测试

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

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

login.jsp:

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

最后我们进行测试

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

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

3.1静态资源文件得引用

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

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

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

再springmvc-servlet.xml中添加:

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

实际引用:

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


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

"


分享到:


相關文章: