可以由下面这个简单的图示解释说明。
四个结论:
1、JSP页面必须在JSP服务器内运行。
2、JSP文件必须生成Servlet才能运行。
3、每个每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。
4、JSP页面访问者无需安装任何客户端,甚至不需要刻意运行java的环境,因为JSP页面传输到客户端的是标准HTML页面。
可以看到tomcat路径下这两个目录,webapps 下是项目文件夹,而work\Catalina\localhost 文件夹下对应同样的项目文件夹,即jsp编译生成的servlet 就在该项目文件夹下。多个浏览器在不同的客户端访问同一个JSP页面,即访问同一个Servlet类,在JSP中声明的成员变量值只在创建实例时初始化,该变量值一直保存,直至实例销毁。