我的github

1. 回顾servlet:https://www.bilibili.com/video/BV1xY411b7hv/  https://mp.weixin.qq.com/s/yuQqZzAsCefk9Jv_kbh_eA

创建HelloServlet标签,它负责拦截/user下的请求

所以,请求类似于http://localhost:8080/user?method=add将会被拦截,并交由HelloServlet对应的com.kuang.servlet.HelloServlet类处理,该类将取出?后面对应的字符串,如'method=add',这是一个键值对的形式,

        String method = req.getParameter("method");
        if (method.equals("add")){
            req.getSession().setAttribute("msg","执行了add方法");
        }
        if (method.equals("delete")){
            req.getSession().setAttribute("msg","执行了delete方法");
        }

之后,将进行转发,跳转到页面。

req.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(req,resp);

2. 第一个MVC程序:

(1)用户发送请求到DispatcherServlet,即前端控制器

(2)DipatcherServlet调用处理器映射器HandlerMapping解析

(3)处理器映射器HandlerMapping根据请求的url找到具体的处理器,生成处理器对象和处理器拦截器一并发给DispatcherServlet

(4)DispatcherServlet通过处理器适配器HandlerAdapter调用处理器;

(5)执行处理器,即controller,也叫后端控制器

(6)controller执行完毕后返回ModelAndview给处理器适配器HandlerAdapter

(7)处理器适配器HandlerAdapter将controller返回的ModelAndView发送给DispatherServlet

(8)DispatcherServlet将ModelAndView传给视图解析器viewResolver

(9)viewResoler解析后返回具体的view

(10)DispatcherServlet对view进行渲染视图(即将模型数据填充到视图中)

(11)DispatcherServlet响应客户

 

 

参考:https://www.cnblogs.com/yaolicheng/p/13689710.html

posted on 2022-01-20 09:41  XiaoNiuFeiTian  阅读(307)  评论(0)    收藏  举报