Web应用

传统Servlet应用

  • Servlet组件:Servlet、Filter、Listener
    • servle
      • 实现
        • 继承HttpServlet
      • URL映射
        • @WebServlet(urlPatterns = "/my/Servlet") 
      • 注册
        • ServletComponentScan:扫描写servlet的包
  • Servlet注册:Servlet注解、Spring Bean、RegistrationBean
  • 异步非阻塞:异步Servlet、非阻塞Servlet(默认)
    • 异步Servlet
      • @WebServlet(urlPatterns = "/myServlet", asyncSupported = true) 需要手动开启asyncSupported为true
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 异步上下文
        AsyncContext asyncContext = req.startAsync();
        asyncContext.start(()->{
            try{
                resp.getWriter().println("hello world");
                // 进行显示完成
                asyncContext.complete();
            } catch (Exception e){
                e.printStackTrace();
            }
        });
}

Spring Web MVC应用

  • Web MVC视图:
    • 视图
      • ViewResolver
      • VIew
        • void render(@Nullable Map<String, ?> var1, HttpServletRequest var2, HttpServletResponse var3)
    • 模板引擎[不同的模板引擎对应不同ViewResolver]
      • Thymeleaf
      • Freemarker
      • JSP
    • 内容协商[存在多个模板引擎的情况下的一个模板引擎选择]
      • ContentNegotiationFigurer
      • ContentNegotiationStrategy
      • ContentNegotiationViewResolver
    • 异常处理[Spring boot自动完成]
      • @ExceptionHandler
      • HandlerExceptionResolver
      • BasicErrorController(Spring Boot)
  • Web MVC REST:
    • 资源服务
      • ​​​​​​​@RequestMapping
        • ​​​​​​​@GetMapping
        • ...
      • ​​​​​​​@ResponseBody
      • @RequestBody
    • 资源跨域
      • ​​​​​​​CrossOrigin[告诉浏览器那些是可以跨域的]​​​​​​​
      • WebMvcConfigurer
        • default void addCorsMappings(CorsRegistry registry)
      • 传统解决方案
        • IFrame
        • JSONP
    • 服务发现​​​​​​​
      • ​​​​​​​HATEOS
  • Web MVC核心:
    • 处理流程
    • 核心组件
      • ​​​​​​​DispatcherServlet
      • HandlerMapping
      • HandlerAdapter[进行类型转换]
      • ModelAndView
        • ViewResolver
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值