首页 > 编程知识 正文

jsp转译和编译(jsp被编译成)

时间:2023-12-24 12:05:36 阅读:320620 作者:DIDF

本文目录一览:

tomcat怎么编译jsp文件

一、jsp执行过程图解

用户访问jsp页面时,jsp的处理过程如下图所示: 

二、预处理阶段

客户第一次请求jsp页面时,jsp引擎会将jsp文件中的脚本代码(HTML)和代码片段(java代码)全部转换为java代码,转换过程非常直观:对于HTML文本只需要用简单的out.println方法包裹,对于java脚本只做保留或简单的处理。

三、编译阶段

预处理阶段把jsp文件解析为java代码,编译阶段jsp引擎把java代码编译成servlet类文件,对于Tomcat,生成的class文件默认情况下存放在Tomcat/work目录下。

四、响应阶段

编译后的class对象被加载到容器中,并根据用户的请求生成HTML格式的响应页面返回给客户端。 

在执行jsp网页时,通常分为两个时期:转译时期和请求时期。转译时期jsp页面被翻译成Servlet类,然后编译成Class文件;用户请求时期,servlet类被执行,生成HTML响应至客户端。

五、jsp和servlet的执行速度

jsp的转译和请求都在在第一次访问时进行的,所以用户在第一次访问jsp页面时响应时间会比较长。在之后的请求中,这些工作已经完成,时间延长问题不存在了。在处理后续的访问时jsp和servlet的执行速度是一样的。

六、容器、jsp容器、jsp引擎

jsp要转译为servlet,但是servlet没有main()方法,servlet对象的创建、方法的调用由web容器来实现。以Tomcat为例,先看一下Tomcat的总体结构:

从图中可以看出,Tomcat的核心组建是connector和container,container就是容器。容器就是负责管理控制servlet的应用程序。图中的jasper就是解析jsp的jsp引擎。Tomcat既是servlet容器又是web服务器,也是jsp引擎。

jsp编译过程是什么样的

每一个JSP页面都会被Web容器编译成一个Java类,供web容器调用,并且生成HTML叶面回馈给用户。而了解其中的变异方法和规则,对我们学习JSP是非常有好处的,可以说学习好了这个编译原理,就已经学习好了大部分的JSP知识,剩下的工作就只剩下熟记一些tablib和反复应用以使自己更加熟练而已了JSP会被编译成.java放Tomcat/work/Catalina/localhost/***/org/apache/jsp/page

然后编译成.classjsp = java + html

servlet = java + out.print(html)

1.客户端发送请求给web容器

2.web容器将jsp首先转译成servlet源代码

3.web容器将servlet源代码编译成.class 文件

4.web容器执行.class 文件

5.web容器将结果响应给客户端

第二个问题,会.

参考资料:

JSP 转译

第一 jsp最终被服务器编译 就变成了servlet

第二 servlet 主要用于截获客户端请求 对请求响应服务器 然后将处理过的信息返回客户端

Server激活Servlet的service()方法,传递请求和响应对象作为参数

service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息

service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法。

当然 接触了struts 框架了 你就不需要这么麻烦了 配置一个struts-config。xml 就可以了 反正 基础就是servlet

jsp源代码的编译

任何工具都不能完成对java 文件和Jsp文件的编译,只能由Tomcat服务器利用JVM虚拟机才能完成对文件的编译。

无论你使用的是什么工具JSP的转义和编译都是由Tomcat服务器完成的。

jsp源代码中的关于html的部分最后会转译成Servlet文件,这也是个java文件最后又服务器编译成class 文件。你看一下这个文件夹下的文件就全明白了Tomcatworkdemoorgapachejsp

JSP页面上的所有HTML部分都会转换成Java文件存放在这个文件夹下,包括服务器编译完的生成的Class文件。

由Tomcat编译的。每次重起Tomcat服务器都要对服务器中的java文件编译,生成Class文件,存放在WEB-INF文件夹下classes文件下。JSP页面的内容会先转义成相应的Servlet形式文件,这些文件存放在Tomcatworkdemoorgapachejsp文件夹下,并且有相应界面的java文件,在第一次对相应的页面请求时服务器会自动对相应JSP页面的java文件进行编译,生成class文件。JSP的编译过程是先转义然后再编译,当第二次请求时就不需要再编译了。

所以JSP是一次编译多次使用。

但是如果你后台的Java类发生了改变,那么你必须重起启动服务器对Java类文件进行编译。

你看下关于JSP的生命周期。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。