栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

J2EE高级开发框架小课程之SpringMVC框架——配置SpringMVC的五大组件,整个SpringMVC工作流程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

J2EE高级开发框架小课程之SpringMVC框架——配置SpringMVC的五大组件,整个SpringMVC工作流程

SpringMVC

(1)SpringMVC是为了简化基于MVC架构的web应用程序的开发而推出的一个框架。
SpringMVC是Spring整个大的框架的一部分。
(2)SpringMVC的五大组件
1.DispatcherServlet 前端控制器(web.xml中配置)
2.Controller 处理器/控制器 写实际登录的过程,负责控制方法调用,控制业务逻辑(以后会有service层–里面写真正业务逻辑,Controller只负责调用service层的方法,这里就把业务逻辑简单都写在Controller里了)
3.HandlerMapping 映射处理器,处理Controller 和访问路径的关系,也就是写一个路径例如localhost:8080/login.do交给哪个Controller 去处理。(spring核心配置文件applicationContext.xml中配置)
4.ModelAndView 存放Controller 的处理结果,一个Controller 在执行控制器时会有处理结果(通常是字符串)
5.ViewResolver 视图解析器/页面处理器,展示页面的(spring核心配置文件applicationContext.xml中配置)

实践过程:

一、准备过程
1.新建工程SpringSpringMVCMaven_02选Enable Auto-Import支持自动导入!!
具体过程在:链接: Java Web小课程1
2.webapp用来存放页面
在main中创建两个文件夹:
java——用来存放源码(需要处理变成源文件夹)
resources——用来存放所有配置文件

处理过程:
a.java文件夹


b.resources文件夹
导入spring核心配置文件(下载然后粘贴到resources)
下载链接:
链接:https://pan.baidu.com/s/1d8yNeGQALpYsSlaSb3DvIw
提取码:1pgz
网盘链接
二、实践
(1)配置DispatcherServlet 前端控制器(web.xml中配置)
1.在pom.xml导入spring核心jar包和servlet的jar包
引入spring核心配置文件applicationContext.xml

2.在web.xml写DispatcherServlet 前端控制器与servlet配置相同

3.配置DispatcherServlet初始化参数—init-param标签
param-name:参数名 contextConfigLocation
param-value:参数值(spring核心配置文件applicationContext.xml的路径)
具体写法:classpath:applicationContext.xml
解释:classpath:表示根路径(java,resources,webapp都是根路径)下去找applicationContext.xml的配置文件

web.xml的解释:
当程序启动时当我们访问的路径是以*.do结尾之后,会把这个路径交给DispatcherServlet进行处理。DispatcherServlet进行处理之前会先加载contextConfigLocation初始化参数,然后加载spring核心配置文件applicationContext.xml
至此,前端控制器DispatcherServlet配置完毕
(2)Controller 处理器/控制器
写实际登录的过程,负责控制方法调用,实现业务逻辑
1.在java包下新建com.dlxy.controller包
在controller包下新建LoginController类

2.增加业务逻辑

至此,Controller 处理器/控制器,ModelAndView 存放Controller 的处理结果配置完毕
(3)配置HandlerMapping 映射处理器
映射处理器是处理Controller 和访问路径之间的关系,所以我们写完Controller写HandlerMapping
在spring核心配置文件applicationContext.xml中配置HandlerMapping 映射处理器和ViewResolver 视图解析器/页面处理器
第一步:配置HandlerMapping 映射处理器

解释:当我访问/login.do路径时,会执行loginController对应的LoginController对象(class=“com.dlxy.controller.LoginController”)并创建LoginController对象,创建完成后执行里面的handleRequest方法,执行里面业务逻辑,拿到ModelAndView的返回结果,最终配置ViewResolver生成最终页面。
第二步:配置ViewResolver 视图解析器/页面处理器

在/WEB-INF中新建jsp的文件夹并创建success.jsp和error.jsp


配置tomcat运行index.jsp会使整个项目加入到tomcat里,再去访问/login.do


整个SpringMVC工作流程:
第一:web.xml中
tomcat启动时加载web.xml文件,当我访问/login.do地址后首先判断请求路径/login.do与web.xml文件中url-pattern是否匹配,
如果不匹配直接返回404错误码(路径错了)。如果匹配,根据路径找到servlet-name:springmvc再根据servlet-name找到上面的servlet-name根据这个servlet-name 加载创建前端控制器DispatcherServlet类创建DispatcherServlet对象的同时给属性contextConfigLocation赋值加载spring核心配置文件applicationContext.xml

第二:spring核心配置文件applicationContext.xml中
加载配置文件时: 动态的为配置文件中所有的单例bean创建对象 SimpleUrlHandlerMapping,LoginController,InternalResourceViewResolver

(如果配置文件中有一个单例bean创建失败就会出现500意味代码错了)。
第三:还是在配置文件中DispatcherServlet根据请求路径找到HandlerMapping中指定的prop路径并执行相应Controller
创建所有单例bean对象之后对请求路径进行分析:拿到请求资源是/login.do时DispatcherServlet会调用SimpleUrlHandlerMapping中《prop key=“/login.do”>loginController /prop>特定的路径,执行对应路径的loginController就会执行LoginController中的handleRequest方法。

第四:由DispatcherServlet分发请求到指定的Controller返回ModelAndView
到指定的LoginController返回ModelAndView:执行handleRequest方法中的业务逻辑返回success/error字符串

第五:DispatcherServlet根据返回的ModelAndView找到对应的ViewResolver显示页面
执行handleRequest方法中的业务逻辑返回success/error字符串交给前端控制器DispatcherServlet调用相对应的页面前缀+后缀生成对应路径进行页面显示。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/970174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号