这是我从IT公司面试手册网站上看到的一个面试题,他们提供的答案是:当客户端向一个JSP页面发出请求时,Web Container将JSP转化成Servlet的源代码(只在第一次请求时),然后编译转化后的Servlet并加载到内存中执行,执行的结果Response到客户端。
JSP只在第一次执行的时候会转化为Servlet,以后每次执行Web容器都是直接执行编译后的Servlet,所以JSP和Servlet只是在第一次执行的时候不一样,JSP慢一点,以后的执行都是相同的。这个答案准确吗? 我也遇到了这个问题

解决方案 »

  1.   

    对,jsp先编译成java文件再执行
      

  2.   

    对的,但是JSP文件在Server运行时有更改的话会重新生成Servlet
      

  3.   

    先编译成Servlet是*.java,然后生成*.class文件,执行
      

  4.   

    是的,你在Tomcat下的work\Catalina\localhost\你的工程名\包名 下有一些文件这些文件的名字规则:
    JSP文件名_jsp.java 或 JSP文件名_jsp.class打开其中一个java文件,发现里面的内容其实是Servlet内容
      

  5.   

    应该是正确的,jsp先编译成.java文件,然后再执行