欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

jsp工作原理是什么

程序员文章站 2022-03-19 19:27:00
...
JSP是Servlet的扩展,JSP没出现之前,就已经出现了Servlet技术.Servlet是利用了"输出流",动态的生成了HTML页面。包括 每一个HTML标签和所有的HTML页面中出现的内容,简单点说就是利用Servlet的输出流将HTML标签生成一个HTML页面。由于时间长了 Servlet中包含了大量的HTML标签、大量的静态文本及格式等,导致了Servlet的开发效率非常低下.

jsp工作原理是什么

这时候JSP诞生了,JSP弥补了这种情况,JSP通过在标准的THML页面中嵌入JAVA代码,使其静态的部分无需JAVA程序控制,只有那些需要从数据库读取或需要动态生成的页面内容,才使用JAVA脚本控制。

JSP主要是由两部分组成:

(1)静态部分:标准的HTML标签、静态的页面内容,这些内容与静态HTML页面相同.

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

下面是一个最简单的一段jsp代码:

<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<html>
    <head>
        <title>欢迎</title>
    </head>
    <body>
        欢迎学习Java JSP!现在时间是:<%out.println(new java.util.Date());%>
    </body>
</html>

页面中粗体字代码放在<%和%>之间,表明这些是Java脚本,而不是静态内容,通过这种方式就可以把Java代码嵌入HTML页面中,这就变成了动态的JSP页面。从表面上来分析,JSP页面已经不再需要Java类,似乎感觉完全脱离了Java面向对象的特征了,但是,实际上JSP是Servlet的一种特殊的形式,每一个JSP的页面就是一个Servlet的实例。

工作原理

(1)当用户访问一个JSP页面时,回想一个Servlet容器(Tomcat)发出请求;

(2)如果是第一次请求页面,或页面有所改动,则servlet容器首先要把JSP页面(假设为test.jsp)转化为Servlet代码(test.java),再将其转化为(test.class文件);因为这个过程(编译)会耗费一定时间,所以第一次访问或jsp文件有改动时,访问时间有些长;

(3)JSP容器负责调用从JSP转换来的servlet,这些servlet负责提供服务相应用户请求(比如客户端发送表单,要求servlet:formprocessor.java来处理,则容器会建立一个线程,调用formprocessor.java来处理该请求);如果用户有多个请求,则容器会建立多个线程处理多个请求;

(4)容器执行字节码文件(包括调用的servlet:formprocessor.java字节吗),并将其结果返回到客户端;(返回的最终方式是有servlet输出html格式的文件流)

注释:

JSP页面必须要在JSP服务器内运行,如tomcat weblogic,jboss等等.(顺便说一下,apache 和 tomcat是两码事儿,有不少人认为
apache就是tomcat,其实是错误的理解!~,tomcat只是apache中的一个子项目,apache是作为WEB应用服务器,而tomcat可以说是JSP或Servlet的一个web容器);
JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。

相关学习推荐:java基础教程

以上就是jsp工作原理是什么的详细内容,更多请关注其它相关文章!

相关标签: jsp