听说两者关系密不可分
请问应该从哪个开始学呢?

解决方案 »

  1.   

    Web 容器在接受到一个  请求时 ,第一步是看有没有这个 url 对应的 servlet 实例存在,如果没有就尝试初始化, 如果请求的是 jsp ,那么就会进行“翻译”- Translation 阶段, 经常能看到一些应用服务器使用 Apache Jasper 编译器编译  JSP ,这个 编译将会生成一个 名字看上去与 jsp 名字有对应关系统并能保证包内(文件夹内)唯一性的 Servlet ,这个 Servlet 派生自 JspBase , 然后 用这个 Servlet 创建一个实例 ,服务一个请求, 以后的请求就不用创建实例,而只是创建一个新的线程然后用这实例去服务,如果你的Servlet implements SingleThreadMode 则不会每个请求一个线程而是每一个请求一个实例。如果你用 TOMCAT , 就到 %TOMCAT_HOME%/work/Catalina/localhost/${webcontext}/org/apache/jsp 下面看看,如果你访问过 JSP 那么这里就会有对应的 Servlet 的 .class 文件。 还有可能有 JSP 编译生成的 Servlet 源文件  .java . 你打开看,----------------------------------看到了那个源文件就知道 JSP 和 Servlet 什么关系,谁先谁后的关系就没有意义了。
      

  2.   

    一起。因为在运行的时候jsp是要被编译成servlet的。
      

  3.   

    JSP一开始的时候学的,肯定有点乱的,上面包括了三种语言。
      

  4.   

    还是学jsp吧,servelet明白是怎么回事就行了,甚至和可以完全不学它,用jsp+javabean的方式开发几乎无所不能