14-JSP原理
概述
本文主要讲述JSP的原理
在前面的练习中,我们知道JSP就是一个类似HTML文件的东西,只是其中可以添加java代码,来添加一些动态元素
那么JSP和Servlet又是什么关系,或者说JSP文件是如何被加载的呢?
实践
我们可以在idea中tomacat的运行目录找到项目中jsp生成的java文件以及编译好的.class文件,具体文件路径可以用anything找一下,我的在
C:\Users\用户名\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\xxxxxxxxxxxxxxxxxxxxx\work\Catalina\localhost\07_Session_war\org\apache\jsp目录下,可以参考下
打开.java文件,仔细看源码,可以发现其实这个文件就是将jsp转换为了servlet文件,它继承的基类HttpJspBase也是继承了HttpServlet
原理
用户通过浏览器向服务器发送http请求
web服务器接收到请求之后,如果是请求.jsp文件,会生成一个XXX_jsp.java文件并编译后生成一个.class文件
通过将其中的resp返回给Web服务器再返回给浏览器,完成一次请求