JSP执行过程详解

文章参考

https://www.cnblogs.com/klguang/p/4715529.html

https://www.runoob.com/servlet/servlet-intro.html

https://blog.csdn.net/forward__/article/details/57079115

1.Servlet和JSP的概念

JSP是Java Server Page的缩写,在传统的HTML页面中加入JSP标签和java的程序片段就构成了JSP。

什么是Servlet,用于处理HTTP 客户端的请求和 读取HTTP 服务器上数据的Java类 ,是WEB应用程序中的一个组件。

2.Servlet在Web应用程序中的位置

图1

3.Servlet工作过程

 图2

3.Servlet和JSP之间的关系(图2中最后一个蓝色的Servlet容器指的是tomcat服务器,JSP页面在tomcat服务器中的解析过程如图3所示)

JSP本质上也是Servlet的一种,只是Servlet关注于逻辑控制(java文件),JSP关注页面显示(java和html的结合),分别对应MVC设计模式中的控制层和视图层。

JSP请求过程如下图所示(图片来源:https://www.cnblogs.com/klguang/p/4715529.html)

图3

tomcat服务器读取web服务器给的客户端的请求(访问JSP页面或Servlet)后分以下几步来处理

第一步:将jsp编译成Servlet(.java)文件。存放JSP转译成的servlt的目录为:apache-tomcat-7.0.59workCatalinalocalhostyourwebapporgapachejsp 。

第二步:将Servlet文件(.java)到Java字节码文件(.class)。

第三步:根据contentType属性(设置JSP源文件和响应正文的字符集编码及MIME类型, contentType的charset是指服务器发送给客户端时的内容编码)生成

相应的文件(可以是HTML,图片,XML等文件)发送给web服务器(如apache),再由web服务器发送该响应给客户端。

4.Servlet的生命周期

  • Servlet 通过调用 init () 方法进行初始化。
  • Servlet 调用 service() 方法来处理客户端的请求。
  • Servlet 通过调用 destroy() 方法终止(结束)。
  • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
转载文章链接已标明,如有侵权请告知。文章仅作为知识记忆所用,如有错误,敬请指正。
原文地址:https://www.cnblogs.com/YorkZhangYang/p/12354664.html