日期:2014-05-16  浏览次数:20338 次

JSP相关技术详解二(Jsp原理)
JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和所有在HTML页面中出现的内容。

由于包括大量的HTML标签、大量的静态文本及格式等,导致Servlet的开发效率极为低下。所有的表现逻辑,包括布局、色彩及图像等,都必须耦合在Java代码中,这的确让人不胜其烦。JSP的出现弥补了这种不足,JSP通过在标准的HTML页面中嵌入Java代码,其静态的部分无须Java程序控制,只有那些需要从数据库读取或需要动态生成的页面内容,才使用Java脚本控制。

从上面介绍可以看出,JSP页面的内容由2个部分组成:

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

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

注意:编写 JSP页面之前应该先构建一个Web应用。

从表面上看,JSP页面已经不再需要Java类,似乎完全脱离了Java面向对象的特征。事实上,JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。


可以得到如下4个结论:

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

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

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

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