JSP结构
网络服务器需要一个jsp引擎,也就是一个容器来处理jsp页面。
容器负责截获对jsp页面的请求。apache内嵌jsp容器支持jsp开发。
jsp容器与web服务器协同合作,为jsp的正常运行提供必要的运行环境和其他服务,并且能够正确识别专属于jsp网页的特殊元素。
JSP容器和JSP文件在Web应用中所处的位置:

jsp处理:
web服务器使用jsp来创建网页。
浏览器发送一个http请求给服务器。
web服务器识别出这是一个jsp网页的请求,并且将该请求传递给jsp引擎,通过使用url或者.jsp文件来完成。
jsp引擎从磁盘中载入jsp文件,将他们转化为servlet。这种转化只是简单地将所有模板文本改用println()语句,并且将所有的jsp元素转化成java代码。
jsp引擎将servlet编译成可执行类,并且将原始请求传递给servlet引擎。
web服务器的某组件 将会调用servlet引擎,然后载入并执行servlet类。在执行过程中,servlet产生html格式的输出并将其内嵌于http response中上交给web服务器。
web服务器以静态html网页的形式将http response返回到浏览器中。
最终,web浏览器处理http response中动态产生的html网页,和处理静态网页一样。
步骤图:

一般情况下,jsp引擎会检查jsp文件对应的servlet是否已经存在,并且检查jsp文件的修改日期是否早于severlet。如果jsp文件的修改日期早于对应的servlet,那么容器就可以确定jsp文件没有别修改过并且servlet有效,这使得整个流程与其他脚本语言(比如PHP)相比要高效快捷一些。
jsp引擎就是用另外一中方式来编写servlet而不用成为java编程高手。除了解释阶段外,jsp网页几乎可以被当成普通的servlet来对待。
网友评论