Spring MVC 工作流程详解

1.首先先来一张图

 

 

 

开始流程----------------》

1.用户发送请求到前端控制器,前端控制器会过滤用户的请求,例如我们在web.xml里面配置的内容;

<!-- 配置SpringMVC核心控制器 -->
  <servlet>
    <servlet-name>springMVC</servlet-name>

    //前端控制器是一个Servlet 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath*:config/spring-mvc.xml</param-value>
    </init-param>
    <!-- 启动加载一次 -->
    <load-on-startup>1</load-on-startup>
  </servlet>

<servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <!-- 此处可以可以配置成*.do -->
        <url-pattern>/</url-pattern>
</servlet-mapping>

这里表示过滤以/开始的所有请求

2-3.前端控制器会找到处理器映射器(HandlerMapping),简单来说就是它会去找你配置好@Controller ,然后把请求的url 与处理器绑定在一起

@Controller
public class UserCon {

@Autowired
private UserService userService;

@ResponseBody
@RequestMapping(method = RequestMethod.POST, value = "/login")
  public String login(HttpServletRequest request) {

  String phone = request.getParameter("phone");
  String password = request.getParameter("password");
  boolean b = userService.login(phone, password);
  if (b) {
    return "true";
  }
    return "false";

}

这里绑定url就是/login 这里吧login和login()方法绑定在一起,并且返回这个绑定后的Map集合

4-5 HandlerAdapter 会将Map集合中的Login()拿出来交给Handler处理器

5-6 Handler处理器处理代码最终会处理器会返回一个ModelAndView对象给HandlerAdapter(这里不返回视图,直接返回String)

7-8 通过HandlerAdapter将ModelAndView对象返回给前端控制器(DispatcherServlet)

9-10 前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正的视图(jsp);

最终返回给用户,呈现在浏览器上

 

转载于:https://www.cnblogs.com/ChromeT/p/9959644.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值