理论上jsp能实现的东西,Servlet都能实现.只是jsp把静态的与动态的分开了,于是在项目的开发过程中,可由美工负责静态的html部分,java程序员负责动态的部分,从而提高了开发效率.知道这些就行了.

解决方案 »

  1.   

    当JSP运行后, 看一下AP SERVER下, 有很多编译的.class文件, 名字和jsp文件名一样, 这些就是由jsp编译成的servlet.  你再把它反编译, 就可以看到, 其他是一个个servlet.
      

  2.   

    上面说的我知道,问题是:从Jsp到Servlet的工作是谁做的?是Lomboz还是JDK?
      

  3.   

    iambic() :
    是Jboss完成的吗?如果是这样,是不是同一个JSP文件,用不同的应用服务器,都会得到不同的Sevrlet代码?Sun是不是应该有个标准?
      

  4.   

    刚刚查了一下资料,
        JSP一般的运行方式为:当服务器启动后,当Web浏览器端发送过来一个页面请求时,Web服务器先判断是否是JSP页面请求。如果该页面只是一般的HTML/XML页面请求,则直接将HTML/XML页面代码传给Web浏览器端。如果请求的页面是JSP页面,则由JSP引擎检查该JSP页面,如果该页面是第一次被请求、或不是第一次被请求但已被修改,则JSP引擎将此JSP页面代码转换成Servlet代码,然后JSP引擎调用服务器端的Java编译器javac.exe对Servlet代码进行编译,把它变成字节码(.class)文件,然后再调用JAVA虚拟机执行该字节码文件,然后将执行结果传给Web浏览器端。如果该JSP页面不是第一次被请求,且没有被修改过,则直接由JSP引擎调用JAVA虚拟机执行已编译过的字节码.class文件,然后将结果传送Web浏览器端。
      

  5.   

    是否得到相同的Servlet代码不是太重要。只要基于JSP的行为是正确的就可以了。