jsp 都是编译成 servlet 执行的, 我想是同一个 servlet 容器 , jsp 容器没听说 。JSP 处理请求之前经历一个 translation 阶段,servlet 容器发现这个 jsp 没有对应的 servlet 类就会编译这个 jsp 成 _xxxx.java 或者  xxxx_jsp.java ,不同的容器生成不同的文件名前缀活后缀,这个就是一个 servlet ,然后这个 .java 又被编译成 .class ,如果你用 tomcat 你可以到 %tomcat%\work 下面找到你的 web 程序对应的临时目录,当你访问 jsp 时,这里如果在 jsp 目录下面不能找到对应的 servlet class ,临时目录下jsp 对应的位置也没有 对应的 servlet 类的话,就会 发生编译  jsp 的过程,你能看到临时文件生成, 然后用最后生成的servlet .class 去完成请求。