**
JSP运行原理
**
JSP 文件 = HTML + Java
其中,HTML 代码用于实现网页中静态内容的显示
Java 代码用于实现网页中动态内容的显示。为了与传统 HTML 有所区别,JSP 文件的扩展名为 jsp。
要弄清楚jsp的运行原理首先要明白 浏览器和服务器之间的交互过程
如图所示:
这里是引用
1.当在浏览器中输入URL时
浏览器首先会在C:\Windows\System32\drivers\etc文件下的
hosts文件 中寻找 域名localhost对应的IP地址 127.0.0.1
如果没有在hosts中找到对应的ip地址则
2.在DNS服务器中寻找域名所对应的IP地址
3.找到ip地址后 会和服务器先建立TCP然后再建立http连接
4.浏览器向服务器发送http请求
四种请求方式: GET PUT POST DELETE
5.服务器解析要访问的主机
6.服务器解析要访问的应用名
7.从http中解析出要访问的资源
8.获取资源的数据
9.将数据返回给浏览器 浏览器显示给用户
最后完成交互
-------------------------------------------------------------------------------------------
了解了交互过程 现在看jsp是如何工作的
在讲述交互过程时URL为
我们注意到 资源文件以jsp为后缀
web容器(Tomcat,webLoic等) 接受到以.jsp为扩展名的URL访问请求时,它把该访问请求
交给jsp引擎去处理,Tomcat的引擎就是一个Servlet程序,他负责解释和执行jsp文件.
打开Tomcat的conf文件夹下的web.xml文件
可以看到用于处理jsp文件的servlet是JspServlet 它负责解释和执行JSP页面
每个JSP页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序
接着把这个Servlet源程序编译成Servlet的class类文件
然后再由web容器向调用普通Servlet程序一样的方式来
装载和解释执行这个由JSP页面翻译的Servlet程序.
JSP运行过程:
1.web容器将JSP转译成Servlet源代码即java代码
JSP转译后的java代码全部放在 service方法中
2.web容器将产生的源代码编译
3.web容器加载编译后的代码并执行 将执行结果响应至浏览器
JSP的java和class文件位置
由JSP引擎处理生成的.java文件和.class文件放在<CATALINA_HOME>(环境变量)\ \work\Catalina\主机名\应用程序名\...下 例如:
可以看到由JSP引擎生成的java文件和class文件
这里是引用