• 技术文章 >Java >java教程

    jsp文件怎么运行

    (*-*)浩(*-*)浩2020-09-16 16:33:57原创23884

    jsp文件的运行方法:首先客户端发出Request请求,JSP Container将JSP转译成Servlet的源代码;然后将产生的Servlet源代码进行编译,并加载到内存执行;最后把结果Response至客户端即可。

    php入门到就业线上直播课:进入学习

    当客户端浏览器向服务器发出访问一个JSP页面的请求时,服务器根据该请求加载相应的JSP页面,并对该页面进行编译,然后执行。

    推荐课程:Java教程

    页面的执行过程如下图所示:

    jspy.png

    客户端通过浏览器向服务器发出请求,在该请求中包含了请求的资源的路径,这样当服务器接收到该请求后就可以知道被请求的内容。

    服务器根据接收到的客户端的请求来加载相应的JSP文件。

    Web服务器中的JSP引擎会将被加载的JSP文件转化为Servlet。

    JSP引擎将生成的Servlet代码编译成Class文件。

    服务器执行这个Class文件。

    最后服务器将执行结果发送给浏览器进行显示。

    从上面的解释中可以看到,JSP文件被JSP引擎转换后,又被编译成了Class文件,最终由服务器通过执行这个Class文件来对客户端的请求进行响应。其中第三步和第四步构成了JSP处理过程中的翻译阶段,而第五步则为请求处理阶段。

    但并不是每次请求都需要重复进行这样的处理。当服务器第一次接收到对某个页面的请求时,JSP引擎就开始按照上述的处理过程来将被请求的JSP文件编译成Class文件。当再次对该页面进行请求时,如果该页面没有任何改动,服务器就会直接调用对应的Class文件来执行。因此当某个JSP页面第一次被请求时,会有一些延迟,而再次访问时会感觉速度快了很多。如果被请求的页面经过了修改,那么服务器会重新编译这个文件,然后再执行。

    jsp是怎么运行的

    **jsp ——JSP引擎转换为Servlet——Java编译为.class文件——由Java虚拟机解释执行

    Web容器处理JSP文件请求的执行过程主要包括以下4个部分:

    客户端发出Request请求

    JSP Container 将JSP转译成Servlet的源代码

    将产生的Servlet源代码经过编译后,并加载到内存执行

    把结果Response(响应)至客户端

    很多人都会认为JSP的执行性能会和Servlet相差很多,其实执行性能上的差别只在第一次的执行。因为JSP在执行第一次后,会被编译成Servlet的类文件,即.class,当再重复调用执行时,就直接执行第一次所产生的Servlet,而不再重新把JSP编译成Servelt。因此,除了第一次的编译会花较久的时间之外,之后JSP和Servlet的执行速度就几乎相同了。

    在执行JSP网页时,通常可以分为两个时期:转译时期(Translation Time)和请求时期(Request Time)

    转译时期:JSP网页转移成Servlet类。

    请求时期:Servlet类执行后,响应结果至客户端。

    转译期间做了两件事情:

    转译时期:将JSP网页转移为Servlet源代码 .java.

    编译时期:将Servlet 源代码 .java编译成 Servlet类 .class.

    当JSP网页在执行时,JSP Container 会做检查工作,如果发现JSP网页有更新修改时,JSP Container 才会再次编译JSP成 Servlet; 如果JSP没有更新时,就直接执行前面所产生的Servlet.**

    以上就是jsp文件怎么运行的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:jsp
    上一篇:java是什么软件 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 用AJAX和JSP实现读取XML内容并按排列显示输出• 关于JS和JSP的区别讲解• 在jsp页面中使用jstl标签将long型的时间戳转换• JavaWEB中JSP的内置对象出现的原因及九个内置对象详解
    1/1

    PHP中文网