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

dede网站维护暂时关闭青岛代理记账公司

dede网站维护暂时关闭,青岛代理记账公司,校本教研网站建设方案,福彩hao123网址导航一、引子 我们在上一篇文章Spring MVC-基本概念中,为读者解释了如何使用SpringMVC框架,将承接客户端请求的工作从原生的Servlet转移到我们熟知的Controller中。那么我们不禁会好奇,SpringMVC框架到底做了什么,是怎么把请求分发给…
一、引子

我们在上一篇文章Spring MVC-基本概念中,为读者解释了如何使用SpringMVC框架,将承接客户端请求的工作从原生的Servlet转移到我们熟知的Controller中。那么我们不禁会好奇,SpringMVC框架到底做了什么,是怎么把请求分发给Controller的呢?请读者继续阅读。

二、请求流程

SpringMVC的各个组件及执行流程如下图所示:

SpringMVC的请求流程主要包括以下步骤:

  1. 客户端发送请求被前端控制器DispatcherServlet接收;
  2. 前端控制器DispatcherServlet调用处理器映射器HandlerMapping查询处理器;
  3. 处理器映射器找到具体的处理器(可根据xml配置、注解进行查找),生成处理器对象及处理器拦截器,返回处理器执行链HandlerExecutionChain;
  4. 前端控制器调用处理器适配器HandlerAdapter执行处理器;
  5. 处理器适配器经过适配调用映射到的处理器Handler(即Controller,也叫后端控制器);
  6. 处理器执行完成后返回ModelAndView对象;
  7. 处理器适配器将ModelAndView返回给前端适配器;
  8. 前端控制器将ModelAndView传给视图解析器ViewResolver;
  9. ViewResolver解析后返回具体的View;
  10. 前端控制器根据View进行渲染视图(同时会把Model中数据填充到视图中),响应给客户端。
三、快速演示

例如,我们可以在spring-mvc.xml配置文件中声明视图解析器,设置视图的前缀与后缀:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><!--扫描控制层组件--><context:component-scan base-package="com.bylearning.controller"/><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean>
</beans>

于是我们在Controller的代码便可改写成:

import com.bylearning.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class HelloController {@Autowiredprivate UserService userService;@RequestMapping(value = "/")public String protal() {// 将逻辑视图返回return "index";}@RequestMapping(value = "/hello")public String hello() {System.out.println(userService);return "success";}
}

当然,此时的目录结构是:

这里我们先不去过多演示关于SpringMVC组件的自定义使用方法,重点是了解请求的执行流程,以及由@WebServlet注解演变到@Controller的过程中发生了什么,这样才能更加深刻的了解框架与技术的更迭。

此外,关于组件的另一个示例使用,我们恰巧需要在SpringMVC-响应这一篇中介绍处理器适配器中配置消息转换器,请感兴趣的读者继续阅读。

http://www.yayakq.cn/news/847382/

相关文章:

  • 做微商好还是开网站好公司标志
  • 行业信息网站深圳宝安中心区
  • 网站开发名词解释网站需要服务器吗
  • 做网站站长累吗德阳建设银行招聘网站
  • 盐城市城乡建设局网站怎么查一个网站的域名
  • 十大装修公司排行榜狼雨seo网站
  • 企业建站公司怎么创业义乌的论坛网站建设
  • 索莱宝做网站wordpress把写博客按钮放在前台
  • 宠物网站建站目标seo服务标准
  • 建站软件免费版下载专业做高校网站群管理系统
  • 网站域名怎么查Aspire Pro wordpress
  • python做网站的优势解决方案服务商
  • 苏州微网站建设公司住建局官网平台
  • 长春网站制作公司哪个好前端电商网站设计论文
  • 企业内部门户网站建设方案调查问卷网站建设方案
  • 网站集群建设ppt黄页网站推广公司
  • 网站打开速度很慢电子商务公司最低注册资本
  • 专业网站发展趋势编辑网页的工具有
  • 网站建设 流程浦东网站开发培训
  • 外包公司网站开发苏州网站建设2万起
  • 只做瓶子包装设计的创意网站12306网站做的好还是百度做的好
  • 酒店定房网站开发seo视频
  • 上海城乡建设部网站厦门彩页设计
  • 网站流量统计查询手机什么网站可以设计楼房
  • 电子商务网站建设与管理考试电子商务发展现状与趋势
  • 我们是谁 网站运营信用网站建设意义
  • 大理州建设局门户网站产品介绍网站设计怎么做
  • 甘肃省住房和建设厅网站dedecms 做网站
  • 南京 做网站公司品牌vi设计升级
  • 网站做二级登录页面容易吗屏山县建设局网站