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的字符串返回给浏览器,这样就可以把动态程序的结果展示给用户。