(1)Java Server Pages的缩写;
(2)嵌入java代码的Html文档(还记得上篇博客介绍的servlet吗?servlet:嵌入html的java代码)
(3)JSP代码是在服务器上执行的,因此JSP网页内容可以动态变化,So:通常将JSP技术归类于动态网页技术;
(4)JSP和ASP技术非常相似,ASP的编程语言是VBScript和JavaScript,而JSP使用的是Java;
——我觉得可这样理解:JSP=HTML+Java
当服务器上的一个JSP页面被访问时,Web服务器首先将整个JSP页面转换成Java代码,通过编译和运行,生成用户所看到的最终网页。
可以访问服务器端的文件、数据库等所有资源,也可以通过特殊手段访问客户端的内容,如用户输入的数据、浏览器保存的cookie等。
谈到JSP的生命周期,让我想到了上篇博客提到的Servlet的生命周期:
而JSP的与Servlet有什么关系呢?
JSP页面最终转换成Servlet来执行,因此JSP的底层完全是Servlet;但并不是说一个jsp文件运行就会生成一个对应的servlet,而是jsp运行的时候就转换成了servlet,也就是java程序来执行;
(注:JSP和Servlet的联系与区别,不是本博客研究的重点)
因此,JSP的生命周期就包括六个阶段:转换,编译,加载并实例化,初始化(_jspInit),请求处理(_jspService()调用),销毁(_jspDestory())。
转换:就是web容器将JSP文件转换成一个包含了Servlet类定义的java源文件。
编译:把在转换阶段创建的java源文件变异成类文件。
JSP生命周期其他的四个阶段(即:实例化、初始化、请求处理、销毁)跟Servlet生命周期相同。
创建:创建一个jsp页面,并编写你的应用代码(html+java);
访问:通过http协议和浏览器,像访问Html网页一样来访问jsp网页;此时JSP容器编译和执行JSP网页,并把运行结果以Html格式返回给用户浏览器;
我们可以将HTML代码保存成JSP文件,但是这种代码不会产生动态效果。例如,将以下html文件保存为Hello.jsp文件,其页面永远不会有变化:
<Html> <Body> <h1>Hello,你好!</h1> </Body> </Html>
(1)如何使其产生动态效果?
——在Html标记外添加Java代码;但是java代码必须要和Html代码区分开来,So:如Html拥有规定的Html标记一样,JSP规范中也规定了若干标签,使用这些标签把Java代码标记起来。
(2)这些标签就是JSP的构成元素,也是JSP的基本组成部分。
(注:这些构成元素的具体规定和应用,这里不多做介绍。但是个人觉得,Jsp构成元素是重点;重在应用)
Hello.jsp
Copyright.html
运行结果:
(1)JSP=Html+Java
(3)JSP技术——动态网页技术
(4)JSP生命周期及开发步骤
(5)JSP构成元素