JSP简介
一、JSP(Java Server Page):
1)Java EE 组件,本质上是 Servlet。
2)动态生成HTML.XML或其他格式文档的web网页技术。
3)运行在 Web Container(服务器或servlet容器中).接收 Http Request,生成 Http Response(默认协议是 Http 请求和响应)
4)使页面可以混和html代码、Java代码以及JSP标签;允许访问组件
二、JSP的改进:
1)JSP是标签式的文本文件(Servlet是Java文件)
2)JSP不需要编译(其实是由服务器监测JSP文件的变化,再将其翻译成 Servlet 代码)
服务器对其进行编译并在第一次请求时创建一个Servlet实例。所以,第一次访问JSP页面时会有延迟
3)JSP不用写配置文件
4)JSP以静态代码为主,Java代码为辅。Servlet反之。
5)是J2EE蓝图的一部分(Servlet、JSP以及EJB是J2EE的三大组件)
JSP从本质上来说内核还是Servlet,但与Servlet不是替代关系而是一种互补的关系。
JSP适合于写显示层的动态页面,而Servlet则适合写控制层的业务控制(页面转发)。
JSP往纯标签方向发展,Servlet往纯代码方向发展,他们以Servlet内核(请求响应式的工作方式)往两个方向发展。
三、其他的动态网页技术:
ASP
PHP
四、JSP的组成:
静态内容:HTML标签、文本内容
JSP指令: page指令、include指令、taglib指令
脚本:小脚本、声明、表达式
动作: usebean、forword、include等
标签:JSTL、自定义的标签
EL表达式:${}
注释:HTML注释、JSP注释
五、JSP的执行过程
首先用户向servlet容器发出一个访问JSP页面的请求,于是容器会找到对应的JSP页面,找到被请求的页面之后容器首先将JSP页面翻译成一个对应的java文件,然后对此java文件编译,生成一个class文件,最后执行生成的class文件,再将结果返回给客户。这是对一个JSP页面第一次访问时执行的工作。
在第一次访问过后,会生成字节码文件,如果下一次在访问同一个JSP页面时,只需要直接运行对应的class文件,再将结果返回给客户。
由于一般JSP文件的第一次执行都是由该文件的编写者进行的,等到用户使用时已经是第二次或是多次使用了,此时class文件已经存在,所以执行较快,可以大大节省时间提高效率。