1、JSP的本质是Servlet,当用户向指定Servlet发送请求时,Servlet利用输出流动态生成HTML页面,包括每一个静态的HTML标签和所有在HTML页面中出现的内容。由于包括了大量的HTML标签、大量的静态文本及格式等,导致Servlet的开发效率极其低下。所有的表现逻辑,包括布局、色彩及图像等,必须耦合在Java代码中。JSP的出现弥补了这种不足,其静态部分无须Java程序控制,只有需要去数据库读取或需要动态生成的页面内容,才使用Java脚本控制。

2、JSP页面的组成:

     ①静态部分:标准的HTML标签、静态的页面内容。这些内容与静态HTML页面相同。

     ②动态部分:受Java程序控制的内容,这些内容由Java脚本动态生成。


        欢迎学习Java Web知识,现在时间是:

        <%out.println(new java.util.Date());%>


上面放在<%和%>之间,表明这些是Java脚本,而不是静态内容,通过这种方式就可以把Java代码嵌入JSP页面中,边变成动态的JSP页面

3、JSP页面内看似不需要Java类,事实上,JSP的本质依然是Servlet(一种特殊Java类),每个JSP页面就是一个Servlet实例——JSP由系统编译成Servlet,Servlet再负责相应用户请求。对于Tomcat,生成的Servlet放在work路径对应的Web应用下 。

4、Servlet类主要方法:

     ①init():初始化JSP/Servlet方法

     ②destroy():销毁JSP/Servlet之前的方法

     ③service():对用户请求生成响应的方法

5、根据JSP的工作原理可知:

     ①JSP文件必须在JSP服务器内运行

     ②JSP文件必须生成Servlet才能执行

     ③每个JSP页面的第一个访问者速度很慢,因此必须等待JSP编译成Servlet

     ④JSP页面的访问无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。