网站首页 > 博客文章 正文
我自己是一名从事了多年开发的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。
1.Spring MVC搭建环境
1.1Spring MVC搭建环境流程
以上为我maven pom配置文件导入的架包,记得版本一定要对应,否则容易引发未知错误。
Spring MVC配置:
2.1在web.xml中配置Servlet,定义DispatcherServlet:
Spring MVC是基于Servlet得,那DispatcherServlet是整个Sping mvc框架得核心,它负责截获请求并将其分派给相应得处理器处理。首先就得进行DispatcherServlet配置,我们在web.xml中进行操作:
<web-app>
在配置得时候,我们通过contextConfigLocation参数来指定Spring MVC配置文件得位置,此处使用Spring资源路径得方式进行指定(classpath:springmvc-servlet.xml)
2.2创建Spring MVC得配置文件–视图解析器
在resources目录下面新建名叫springmvc-servlet.xml得配置文件
3.创建Controller(处理请求得控制器,等于servlet)
在同级目录下创建controller包,创建一个名叫IndexController的层
4.创建view层(我们用JSP作为视图进行测试)
在第二步我们配置了视图解析器,根据定义的prefix(前缀)–WEB-INF/jsp/和suffix(后缀).jsp,我们在WEB-INF下创建jsp包,定义index.jsp
控制器IndexController返回的逻辑视图名称为index,通过视图解析器,会将视图逻辑名解析为/WEB-INF/jsp/index.jsp,得到真正的视图名。
5.部署运行(Tomcat)
前面所有工作完成后,在idea中部署tomcat
最后进行测试,在控制台输入http://localhost:8080/ch09spingmvcshili_war/index1
2.Spring MVC框架的请求处理流程
下面我们通过一张图来了解下Springmvc的请求流程
首先用户发送到请求到前端控制器(DispatcherServlet),前端控制处理器根据请求信息(URL)来选择哪个控制器(Controller)来进行处理,并把请求委托给它
页面控制器接收到请求后,进行业务处理,处理完毕后返回一个ModelAndView
前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的真正视图,并把模型数据传入以便将视图进行渲染。
2.1Spring MVC框架的特点
- 清晰的角色划分。Spring MVC在model,view,controller方面提供了一个非常清晰的角色划分
- 灵活的配置功能。因为Spring的核心时IoC,同样在实现MVC上,也可以把各种类当作Bean来通过XML进行配置。
- 提供了大量的控制器接口和实现类。开发者可以使用Spring提供的控制器实现类,也可以自己实现控制器接口。
- 真正做到与view层的实现无关,使用更加灵活
- 国际化支持
- 面向接口编程
- Spring提供了Web应用开发的一整套流程。
2.2MVC的参数传递
前面我们搭建了MVC的环境以及实现了controller和view的映射,简单的实现了页面导航,下面我们来实现把view层的数据传递以及controller把值传给前台
需要注意的是?后面的username必须对应方法名字,才能获取到,这里我们只是测试拼接,运行正确会在页面上显示,admin!!
2.2.1view层传输数据到controller
使用一个form表单做示范,例如我现在要把form表单上text得值在后台进行处理,并且把你输入得值打印到另外一个页面上进行显示:
index.jsp:
indexs.jsp:
我们把需要得页面和后台准备好之后开始测试,启动tomcat:
从这里可以看到,我们测试成功了。
3.整合SSM项目
- 导入jar包
上面为我整个项目得所有架包,文件上传得架包可以不加!!主要添加得还是spring得核心架包。
2.编写配置文件
前面我们已经会编写Springmvc得配置文件了,现在我们只需要配置Spring和mybatis得配置文件了,下面直接贴代码
mybatis-config.xml:
和log4j.properties:
applicationContext.xml:
编写完得项目结构如图:
最后我们只要有在springmvc-servlet.xml中把spring导入进去
springmvc-servlet.xml:
这样我们得配置文件就编写成功了。
4. 运行测试
我们使用一个简单得登陆来测试ssm部署是否成功,首先编写登陆需要得mapper层和biz层,这里不做示范,下面贴上controller层得代码:
login.jsp:
最后我们进行测试
这样我们得smm项目部署成功,如果有什么疑问,可以私聊把项目发你!!
3.1静态资源文件得引用
我们会发现如果要引入jss文件或者css,会发现它们无法起效得,因为web.xml中得DispatcherServlet请求映射会拦截所有web容器得请求,现在我们在mvc得配置文件中进行映射:
首先在webapp下面创建静态资源包
再springmvc-servlet.xml中添加:
实际引用:
<script type="text/javascript" src="${pageContext.request.contextPath }/statis/js/jquery-1.8.3.min.js"></script>
这里也必须要加项目得绝对路径!!这样就配置成功了
作者: 马男波杰克
来源:CSDN
猜你喜欢
- 2024-10-20 从零开发一个WEB应用(一)搭建后端开发环境
- 2024-10-20 SpringBoot教程:Maven方式创建SpringBoot项目
- 2024-10-20 学Maven,这篇万余字的教程,真的够用了
- 2024-10-20 javaEE技术分享之如何使用Spring Boot快速创建Web应用
- 2024-10-20 Maven项目改为spring boot项目的方法
- 2024-10-20 「干货」带你走进Spring Boot 项目实战:Maven 多模块项目搭建
- 2024-10-20 Eclipse + Ant / Maven + Java 8 开发环境搭建一文穿透
- 2024-10-20 idea新建springboot项目(idea新建一个springboot项目)
- 2024-10-20 Maven+Jetty/Tomcat进行web部署开发
- 2024-10-20 IDEA下从零开始搭建SpringBoot工程
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 357℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)