zoukankan      html  css  js  c++  java
  • 《Head First Servlets & JSP》-4-请求和响应

    Servlet生命周期

    生命周期三大重要时刻

    Servlet集成结构:

    方法 init() service() doGet()/goPost()
    何时调用 Servlet实例被创建之后、为客户请求提供服务之前 当第一个客户请求到来时 service()根据HTTP方法来选择调用
    作用 初始化 查看客户请求并调用相应的方法 这里是我们的功能代码
    是否覆盖 若有自己的初始化要求(如获得数据库连接、想其他对象注册),则需要覆盖;否则运行GenericServlet的init() 一般不覆盖 至少覆盖其一,因为HttpServlet的doGet()/doPost()什么也不做,且service()方法结束,线程就结束(或进入线程池)

    注意:

    • 初始化很重要,因为在调用构造函数和init()方法之间,Servlet处于一种薛定谔Servlet状态
    • 任何Servlet类都不会有多个实例(只有一种糟糕的情况除外,SingleThreadModel)
    • 对应每个客户请求,会生成一对新的请求和响应对象

    GET和POST的区别

    • GET
    • POST

    • 区别

    方法 GET POST
    消息体
    数据大小 限制 无限制
    安全控制
    可建立书签
    幂等性

    Servlet生命周期和API要点


    HTTP和HttpServletRequest要点


    响应

    • 一个最佳实践
      response.setContentType("text/html");
      如上,先调用setContentType()方法,然后再调用获得输出流的方法(getWriter()或getOutputStream()),这样能保证不会遭遇内容类型和输出流之间的冲突。

    • 输出内容的两个选择
      PrintWriter:

      OutputStream:

    请求重定向和请求分派

    方法|重定向|请求分派
    浏览器地址|改变|不改变
    具体工作的完成|客户端(浏览器)|服务器

    重定向中的URL

    • 相对路径
      相对当前请求的路径:
    • 绝对路径
      绝对路径到应用(即上下文根)

    HttpServletResponse要点


  • 相关阅读:
    html 的一些基础操作
    java 通过反射调用属性,方法,构造器
    java 通过反射获取类属性结构,类方法,类父类及其泛型,类,接口和包
    java 反射,类的加载过程以及Classloader类加载器
    java 随机读写访问流及seek方法
    java 序列化机制
    java 标准输入输出流,打印流,数据流
    hp400 硒鼓加粉图解
    Delphi XE5 android 获取网络状态
    Delphi XE5 常见问题解答
  • 原文地址:https://www.cnblogs.com/myitroad/p/6192519.html
Copyright © 2011-2022 走看看