1. jsp本质是是一个servlet程序。
    2. jsp源文件会被tomcat翻译成java源代码
    3. 通过输出流把html数据回传给客户端。
    4. jsp的page指令可以修改jsp页面中一些重要的属性或者行为。(10个)
      1. language
    5. jsp常用脚本
      1. 声明脚本 <%! %> (不常用)
        1. 声明类属性
        2. 声明静态代码块
        3. 声明类方法
        4. 声明内部类
      2. 表达式脚本 <%= 表达式 %> ,在jsp页面输出数据 (常用)

    _jspservice中的对象都能使用,表达式脚本中表达式不能以分号结束

    1. 1. 输出整型
    2. 1. 输出浮点型
    3. 1. 输出字符串
    4. 1. 输出字符串
    5. 1. 输出对象
    1. 代码脚本 《% java 语句%》
      1. 代码脚本翻译后倒在_jspservice方法中
      2. _jspservice中的对象都能使用
    2. jsp三种注释
      1. html注释会被翻译到java源代码中。在_jspservice中以out.writer输出到客户端
      2. java注释 java注释会被翻译到java源代码中
      3. jsp注释 <%— —%> 可以注释jsp所有代码
    3. jsp九大内置对象
      1. request请求对象
      2. response响应对象
      3. pageContext jsp的上下文对象
      4. session 会话对象
      5. out jsp输出流对象
      6. page指向当前jsp对象
      7. exception 一场对象
      8. servletcontext
      9. servletconfig
    4. jsp四大域对象
      1. pageContext(pageContextImpl类) 当前jsp页面范围内有效
      2. request(HttpServletRequest类) 一次请求内有效
      3. session(HttpSession类) 一个会话范围内有效、(打开浏览器、直到关闭浏览器)
      4. application(ServletContext类) 整个web工程范围内有效 (只要web不停止数据都在)

    使用时优先顺序分别是,他们从小到大的范围的顺序 1 2 3 4

    1. 统一使用out输出
      1. out.write(),输出字符串没有问题
      2. out.print(),输出任何数据都没问题,都被转换为字符串后调用write方法
    2. jsp常用标签

      1. 静态包含 将另一个jsp包含到自己的jsp页面中

        1. <%@ include file=""%>
      2. 动态包含

        1. <jsp:include page=""></jsp:include>

        动态包含会把包含的jsp页面也翻译成java代码
        动态包含还可以传递参数

      3. 转发标签(请求转发)

        1. <jsp:forward page=""></jsp:forward>