美文网首页
JSP运行原理

JSP运行原理

作者: 三斤耳朵 | 来源:发表于2017-11-14 09:46 被阅读86次

1.WEB容器(Servlet引擎)接收到以.jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。

2.每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。

3.Tomcat 6.x把为JSP页面创建的Servlet源文件和class类文件放置在“\work\Catalina\<主机名>\<应用程序名>\”目录中,Tomcat将JSP页面翻译成的Servlet的包名为org.apache.jsp. 。

4.JSP规范也没有明确要求JSP中的脚本程序代码必须采用Java语言,JSP中的脚本程序代码可以采用Java语言之外的其他脚本语言来编写,但是,JSP页面最终必须转换成Java Servlet程序。

5.可以在WEB应用程序正式发布之前,将其中的所有JSP页面预先编译成Servlet程序。

教学过程中想要验证JSP的Servlet由来,就先要能够找到My_005fFirst_005fJsp_jsp.java编译文件,路径在D:\tomcat\apache-tomcat-6.0.14\work\Catalina\localhost\JSP_First_Demo\org\apache\jsp\JSP,注意这里是我个人项目的路径,各位要适当修改。

然后再该类中会发现

public final class My_005fFirst_005fJsp_jsp extends org.apache.jasper.runtime.HttpJspBase

implements org.apache.jasper.runtime.JspSourceDependent

JSP继承了org.apache.jasper.runtime.HttpJspBase,实现了org.apache.jasper.runtime.JspSourceDependent

那就要通过HttpJspBase类来考虑了,那我们就需要看一下这个类到底是什么

然后找到对应的src文件,注意这里的src文件是对应tomcat的资源包apache-tomcat-6.0.36-src,然后再包中找到HttpJspBase,路径如下:

E:\JavaWeb\class_09-Servlet和servletContext\资料\apache-tomcat-6.0.36-src\java\org\apache\jasper\runtime

但是如果将tomcat包导入项目以查看源码的话,会报一个冲突错误:

org.apache.jsp.login_jsp._jspInit(login_jsp.java:34)

百度了下,原因是项目jar包和tomcat的jar包冲突了。不兼容。

删除工程里的jsp-api.jar和servlet-api.jar两个jar包,但是删除完这两个jar,可能还是有问题,此时需要仔细查看自己工程里的.classpath文件,特别注意kind=“lib” 是不是引用了jsp-api.jar和servlet-api.jar这两个jar包,可能会引用tomcat里的jar包,如果发现有这种情况,必须删除那两行,重启tomcat,应该就没问题了!

1.如果是直接部署在 tomcat 中的,那么就看看自己的项目的 .classpath 文件,是不是有 对 jsp-api.jar 和 servlet-api.jar 的引用。

2.如果使用的 maven 的工程,那么就把对 这两个 jar 引用的依赖给注释掉即可。

介绍两个基础材料

http://blog.csdn.net/sgx425021234/article/details/8158078

http://blog.csdn.net/u013919201/article/details/43276677

相关文章

  • JSP运行原理

    1.WEB容器(Servlet引擎)接收到以.jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去...

  • JSP运行原理

    JSP运行原理: 1.当服务启动,第一次请求index.jsp时,index.jsp页面被翻译成index_jsp...

  • Jsp

    JSP脚本和运行原理 JSP指令 JSP内置/隐式对象 JSP 标签 EL表达式和JSTL标签库使用

  • jsp

    jsp就是:Java Server Page,在html页面中编写Java代码的页面 运行原理:jsp文件继承Ht...

  • JSP与Servlet

    JSP/Servlet 工作原理 Servlet Servlet 没有 main 方法,不能够独立的运行,它的运行...

  • JSP运行原理及运行过程

    学习J2EE时,初步了解了JSP,写过一篇小的总结:J2EE-JSP,当时还不是很了解它的运行机制。 学习DRP时...

  • jsp笔记3jsp运行原理

    jsp第一次访问是会被翻译成servlet, 所以第一次访问通常会比较慢,但第二次访问,jsp引擎如果发现jsp没...

  • javaweb学习总结(五)jsp的九个内置对象

    一、JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处...

  • 17.2JSP内置对象

    一、JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处...

  • 1.jsp的概念

    1.Jsp的概念 2.Jsp的作用 3.Jsp的运行 4.Jsp运行过程 5.Jsp开发的疑问 6.Jsp语法 6...

网友评论

      本文标题:JSP运行原理

      本文链接:https://www.haomeiwen.com/subject/ykjzmxtx.html