【开发该软件的操作系统】:windows10
【软件开发环境/开发工具】:tomcat
【编程语言】:Java
【开发目的】:这是老师布置的作业啦~ 供初学者参考学习
参考文章:https://blog.csdn.net/weixin_43705313/article/details/93753110?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-1.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-1.pc_relevant_antiscanv2&utm_relevant_index=2
1、客户端(人)通过浏览器向服务器(tomcat)发出请求,在该请求中包含了请求的资源的路径(http://127.0.0.1: 8080 /text/hello.jsp),这样当服务器接收到该请求后就可以知道被请求的内容。
2、服务器根据接收到的客户端的请求来加载相应的JSP文件(tomcat通过请求找到hello.jsp)。
3、Web服务器中的JSP引擎会将被加载的JSP文件转化为Servlet(tomcat把hello.jsp转换成hello_jsp.java)。
4、JSP引擎将生成的Servlet代码编译成Class文件(调用jdk的java.c,把hello_jsp.java编译成hello_jsp.class)。
5、服务器执行这个Class文件(tomcat调用jdk的Java虚拟机,执行hello_jsp.class)。
6、最后服务器将执行结果发送给浏览器进行显示。
二、执行过程
1、客户端发出Request请求
2、JSP Container 将JSP转译成Servlet的源代码
3、将产生的Servlet源代码经过编译后,并加载到内存执行
4、把结果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.**



