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 @   LaViez  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示