1.JSP运行机制:可以把执行JSP页面的执行分成两个阶段,一个是转译阶段,一个是请求阶段。
①转译阶段:JSP页面转换成Servlet类。
②请求阶段:Servlet类执行,将响应结果发送至客户端。
2.具体过程为:
→→用户访问相应的JSP页面
→→服务器找到相应的JSP页面
→→服务器将JSP转译成Servlet的源代码
→→服务器将Servlet源代码翻译成class文件
→→服务器将class文件加载到内存并执行
→→服务器将执行后生成html代码发送给客户机,客户机根据响应代码进行显示
另外,如果该JSP界面为第一次执行,那么会经历以上两个阶段。
如果不是第一次执行,则只进行请求阶段。这就是为什么第二次执行JSP页面时明显比第一次快。
如果修改了JSP页面,服务器将发现修改,并重新执行以上两个阶段。所以,修改后,访问速度会变慢。
3.创建实例:
①在MyEclipse中新建一个项目,发布并打开。
②然后打开Tomcat的文件夹,打开新建的项目所在的文件夹,会看到JSP对应生成的.java和.class文件。
③打开.java文件,在_jspService()方法中会看到相应的jsp代码。
4.JSP页面的处理过程为:
①在浏览器输入http://localhost:8080/01Test/
②tomcat收到*.jsp请求,则会到org.apache.jasper.servlet.JspServlet处理(tomcat的web.xml中有配置)。
③JspServlet调用相应的Java类,即jsp引擎根据01Test.jsp生成的java类(位于tomcat子目录的work下:01Test.java和01Test.class)。
④执行01Test.java,将Html数据输入到Tomcat,Tomcat将这些数据输出到客户端。
5.总结:从本质上讲,JSP ≈ Java + Html。(Servlet即为Java类)