Servlet9 - 小结

1. Servlet 继承关系以及生命周期

  • Servlet 接口: init() , service() , destroy()
    • GenericServlet 抽象子类:abstract service();
    • HttpServlet 抽象子类:实现了 service 方法,在 service 方法内部通过 request.getMethod() 来判断请求的方式,然后根据请求的方式去调用内部的do方法,每个do方法都进行了简单的实现,主要是如果请求方式不符合,则报405错误
    • 目的是让我们的 Servlet 子类去重写对应的方法(如果重写的不对,则使用父类的405错误实现)

2. HTTP 协议

  • 由 Request 和 Response 两部分组成
  • 请求包含了三部分:请求行、请求消息头、请求主体
    • 普通的 get 方式请求:queryString
    • post方式:form data
    • json格式:request payload
  • 响应包含了三部分:响应行、响应消息头、响应体

3. HttpSession

  • 为什么需要 HTTPSession 会话?因为 Http 协议是无状态的
  • Session 保存作用域:一次会话范围内都有效
    • void session.setAttribute( key, value )
    • Object session.getAttribute( key )
  • 其他API
    • session.getID()
    • session.isNew()
    • session.getCreationTime()
    • session.invalidate()
    • ...

4. 服务器端转发和客户端重定向

  • 服务器端转发:request.getRequestDispatcher( "xx.html" ).forward( request, response )
  • 客户端重定向:response.sendRedirect( "xx.html" )

5. thymeleaf 的部分标签

  • 添加 jar, 新建 ViewBaseServlet (内部有两个方法)
  • 配置两个 context-param :view-prefix 和 view-suffix
  • 部分标签
    • th : if
    • th : unless
    • th : each
    • th : text
posted @ 2023-01-17 17:02  LaViez  阅读(24)  评论(0)    收藏  举报