客户端请求URL即请求JSP容器(比如tomcat)中的JSP页面,第一个用户请求JSP文件的时候,
把JSP文件转换成java文件(servlet类文件),然后在编译成class文件。
执行并把执行结果以HTML的格式返回给客户端浏览器。
客户端浏览器解释HTML标签呈现给用户。由于编译后的class文件常驻内存(在jsp没有被修改的情况下)
如果再次有客户请求,直接开一个线程,无需重新编译,直接执行第一次已经编译好的class文件
这样速度要快一些,当然如果jsp文件发生变化,那么就需要重新编译一次。
参考博客:
JSP程序是在服务器端(JSP容器)运行的。服务器端的JSP引擎解释执行JSP代码,然后将结果以HTML页面形式发送到客户端。
当Web客户端发送过来一个页面请求时,Web服务器先判断是否为JSP页面请求。如果该页面只是一般的HTML/XML页面请求,则直接将HTML/XML页面代码传给Web浏览器端;如果请求的页面是JSP页面,则由JSP引擎检查该JSP页面,若该JSP页面是第一次请求,或不是第一次呗请求但已经被修改,则JSP引擎将此JSP页面代码转换为Serlet代码,然后,进行编译生成字节码文件,再执行并将执行结果传给Web浏览器;如果该JSP页面不是第一次被请求,且没有被修改过,则直接由JSP引擎调用Java虚拟机执行已经编译过的字节码文件,然后根据字节码执行的结果,生成对应的纯HTML的字符串返回给浏览器,这样就可以把动态程序的结果展示给用户。