JSP
  1,什么是 JSP
    java server page:java 服务器端的页面技术
    SUN公司制定的一种服务器端动态页面生成技术,其主要组成部分是html+java代码
    采用servlet生成页面是过于繁琐的,比如要输出比较复杂的页面,必须全部采用out.println()
    的方式来编写。为了简化生成页面,才有了jsp技术的出现!
  2,JSP的组成
    A html代码(包含html,css,js)
    B java代码:
      java代码片段<%..任意的java代码....%>
      表达式:<%=%>
      声明:<%!  java代码  %>
    C 指令
      告诉jsp引擎,在将jsp文件转变成.java文件时,做一些特殊的处理:
      <%@指令名 属性1=值1  属性2=值2 %>
      比如:
       <%@page import="java.util.*,java.sql.*"%>
       其作用是告诉jsp引擎,在生成的.java文件中,
       添加import java.util.*; import java.sql.*;
       <%@page pageEncoding="utf-8"%>
       其作用是,告诉jsp引擎,在生成.java文件时,其jsp文件本身所采用的编码是什么。
       <%@page contentType="text/html;charset=utf-8"%>
       相当于response.setContentType();
      
      <%@include file1=""%>;
      告诉jsp引擎,在将jsp文件转换成.java文件时,将file1.jsp的源代码添加到指令所在的位置
    D 隐含对象
      在jsp文件中,不用声明,也不用创建就可以直接使用的对象。
      原因是:jsp引擎在创建jsp文件所对应的servlet文件时,会声明创建该对象。
      比如 out request response
  3,怎么写一个jsp
    jsp是一个文本文件,以.jsp为后缀
    jsp写好以后不需要单独去编译,也不需要配置
    访问方式同html.比如http://localhost:8080/appname/hello.jsp
  4,JSP是如何执行的
    1,jsp引擎会将.jsp文件转换成.java文件(其实该java文件就是一个servlet).
    2,jsp引擎会将.java编译成.class文件。
    3,jsp引擎调用service()方法。  
  5,jsp引擎如何将.jsp转换成.java文件
    A html-->放到service方法里,使用out.write()输出
    B java代码片段-->直接放到service方法里。  
    C jsp表达式-->放到service方法里,使用out.print()输出
    D 指令-->会影响到.java文件,比如
     <%@page import=""%>,会在.java文件中,添加import语句。