当前位置: 首页 > wzjs >正文

开通网站费用怎么做分录网页图片下载插件

开通网站费用怎么做分录,网页图片下载插件,网站怎么做评估,小城镇建设网站答案目录 前言 一、SpringMVC执行流程 SpringMVC 主要组件 SpringMVC 的执行流程 简要分析执行流程 总结 前言 理解SpringMVC的执行流程是学习SpringMVC工作原理的重要一步。 项目内容参考:SpringMVC-简介及入门-CSDN博客 一、SpringMVC执行流程 SpringMVC 主要组…

目录

前言

一、SpringMVC执行流程

SpringMVC 主要组件

SpringMVC 的执行流程

简要分析执行流程

总结


前言

        理解SpringMVC的执行流程是学习SpringMVC工作原理的重要一步。

        项目内容参考:SpringMVC-简介及入门-CSDN博客


一、SpringMVC执行流程

SpringMVC 主要组件

  • 前端控制器 DispatcherServlet:用户发出请求,DispatcherServlet接收请求并拦截请求,帮我们处理映射关系
  • 处理器映射器 HandlerMapping:根据请求的 URL 来查找 Handler(HelloController类)并将Handler封装到
  • 处理器适配器 HandlerAdapter:负责执行 Handler(执行HelloController中的handleRequest方法)
  • 处理器 Handler:处理业务逻辑的 Java 类(HelloController类)
  • 视图解析器 ViewResolver:进行视图解析,获取ModelAndView对象中的数据及响应路径 
  • 视图 View:View 是一个接口, 它的实现类支持不同的视图类型,如 JSP、freemarker...

SpringMVC 的执行流程

简要分析执行流程

步骤1:DispatcherServlet表示前端控制器,是整个SpringMVC的控制中心。DispatcherServlet实现了Servlet接口,就是一个Servlet类

前端控制器通过注册Servlet实现获取前端所有请求。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--1.注册DispatcherServlet:SpringMVC核心。请求分发器,前端控制器--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--DispatcherServlet要绑定Spring的配置文件--><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

步骤2:通过web.xml读取springmvc-servlet.xml配置文件,通过springmvc-servlet.xml配置文件加载处理器映射器:BeanNameUrlHandlerMapping,映射器主要用于,查找处理请求的HelloController

<!--DispatcherServlet要绑定Spring的配置文件-->
<init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<!--处理映射器-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

步骤3:通过处理器映射器:BeanNameUrlHandlerMapping对象将 URL 请求的路径映射到 HelloController上。具体来说,映射器会根据URL请求的路径、请求参数等信息,确定需要执行哪个处理程。获取到HelloController对象,并将HelloController封装到HandlerExecutionChain对象中返回给前端控制器。

<!--BeanNameUrlHandlerMapping:bean-->
<bean id="/hello" class="com.zlh.controller.HelloController"/>

步骤4:通过springmvc-servlet.xml配置文件加载处理器适配器SimpleControllerHandlerAdapter对象。前端控制器将HandlerExecutionChain对象交给处理器适配器。 处理器适配器主要确认HandlerExecutionChain对象中封装的HelloController类的实现方式,根据不同的实现方式执行不同的方法。例如:HelloController实现了Controller接口,适配器就需要执行handleRequest方法。

        注:还可以实现HttpRequestHandler接口或使用@RequestMapping注解实现处理请求,所以适配器需要根据不同的实现方式执行不同的方法

<!--处理器适配器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
public class HelloController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {ModelAndView mv = new ModelAndView();//业务代码String result="Hello QiYu";mv.addObject("msg",result);//视图跳转mv.setViewName("test");return mv;}
}

步骤5:适配器执行HelloController中的handleRequest方法,handleRequest方法中包含需要执行的具体业务。

步骤6:适配器调用handleRequest方法,返回ModelAndView对象

步骤7:适配器将HelloController返回的ModelAndView对象交给前端控制器

步骤8:前端控制器将ModelAndView对象交给视图解析器:ViewResolver。通过springmvc-servlet.xml配置文件加载视图解析器

    <!--视图解析器:DispatcherServlet给他的ModelAndView--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver"><!--前缀--><property name="prefix" value="/WEB-INF/jsp/"/><!--后缀--><property name="suffix" value=".jsp"/></bean>

我们在HelloController中给ModelAndView对象设置了视图跳转

//视图跳转
mv.setViewName("test");

视图解析器,可以根据配置文件,将视图跳转地址解析为:/WEB-INF/jsp/test.jsp

<!--前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--后缀-->
<property name="suffix" value=".jsp"/>

/WEB-INF/jsp/test.jsp就对于了我们的test.jsp文件地址

步骤9:视图解析器将解析的逻辑视图名传给前端控制器。

步骤10:前端控制器根据视图解析器解析的视图结果,调用具体的视图:/WEB-INF/jsp/test.jsp

步骤11:最终视图(test.jsp)呈现给用户。


总结

这样SpringMVC的执行流程就梳理完毕了,对于过于细节的地方不用在意,流程图还是要自己画一遍,自己想一遍才能知道自己哪里不明白。

至此鸣谢:SpringMVC 执行流程_springmvc的内部流程-CSDN博客


文章转载自:

http://F9b4bI3f.zLbjx.cn
http://DOt1KLCm.zLbjx.cn
http://aJ3q1Aai.zLbjx.cn
http://NFxCxNw3.zLbjx.cn
http://tSXTophD.zLbjx.cn
http://rO77UaNM.zLbjx.cn
http://Und2PANh.zLbjx.cn
http://V3txwdJS.zLbjx.cn
http://pQEaWk6r.zLbjx.cn
http://KnrBQro0.zLbjx.cn
http://mZ7QSZtv.zLbjx.cn
http://e5dSxFi7.zLbjx.cn
http://wV7xnZru.zLbjx.cn
http://FUkIFTQg.zLbjx.cn
http://ZWktkR0E.zLbjx.cn
http://cAGbReVd.zLbjx.cn
http://6AyirDUx.zLbjx.cn
http://7Wldahx4.zLbjx.cn
http://cC5AgelZ.zLbjx.cn
http://4apYCx4Y.zLbjx.cn
http://LU32cf9d.zLbjx.cn
http://i8O3h6gp.zLbjx.cn
http://1pkPFpMZ.zLbjx.cn
http://ifCZ5itO.zLbjx.cn
http://LSP5bF52.zLbjx.cn
http://tmEa8liT.zLbjx.cn
http://o4oqi2tc.zLbjx.cn
http://haLFSGuk.zLbjx.cn
http://IYrYB9v1.zLbjx.cn
http://aTVeFlvi.zLbjx.cn
http://www.dtcms.com/wzjs/649617.html

相关文章:

  • 网站建设免费国外吉林省建设信息网官网入吉
  • 建设外贸网站价格中铁三局招聘身材好
  • 网站建设如何增加二级页面我做中医培训去哪个网站找学员
  • 住房城乡建设门户网站商城模板html
  • 环保网站策划书wordpress如何做301跳转
  • 桥拓云智能建站做网站对服务器要求
  • 企业网站备案拍照faq wordpress
  • 网站设置受信任网址转换成二维码
  • 网站开发kpi淘宝美工培训班
  • 网站提交收录入口站长之家域名信息查询
  • wordpress音乐网站主题摄影网站制作
  • 深圳住建设局官方网站招生网站制作
  • 电商运营和网站运营对比重庆网站策划
  • 办一个网站要多少钱c 网站开发平台
  • 网站模块建设dedecms网站后台很卡
  • 做钓鱼网站会被抓吗如何查询一个网站的icp
  • 北京专业做网站设计公司公司网站建设公
  • 韩国购物网站义乌百度推广公司
  • 制作网站一年多少钱兰州做网站怎么样
  • 建视频网站模板有没有人做网站
  • 做电影网站投资多少保险代理平台
  • 搭建网站需要哪些东西外贸自建站多久能出单
  • 科技有限公司 网站制作0基础12天精通网站建设
  • 网站建设_网站制作公司_捷创查域名138
  • 花店网站推广方案手机网站建设哪家优惠
  • 什么叫网站域名wordpress 获取菜单id
  • 济南招考院网站国内新闻最新消息十条摘抄
  • 汕头中文建站模板购物网站建设详细教程
  • 大型网站建设公司制作网站网站建设预算策划
  • 网站创意文案怎么做专业做财经直播网站有哪些