jsp编译原理

jsp运行时都要先转换成servlet,使用tomcat时会在tomcat安装目录下的work生成一系列的运行的项目文件夹,文件下面含有.java文件和编译后的.class文件。jsp最终转化为servlet,work的作用就是加快速度,如果jsp没有变化就不重新编译了。
 
运行过程
1:首先web客户端发送URL请求给Tomcat。服务器获得请求,对请求字符串分析,如果后缀名是.jsp文件的,则Tomcat把调用JspServlet处理。
2:如果JSP文件第一次被调用,则会把jsp编译成servlet,如果jsp不是第一次调用则不会被编译。Jsp文件在没有修改的情况下,只会编译一次。
3:Tomcat调用service()方法编译jsp文件,创建一个.java和.class文件。该java文件继承自父类HttpJspBas类。
4:创建HttpServletRequest类和HttpServletResponse类
5:调用.java继承父类的HttpJspBase类方法service(request,response)
6:在service方法里面调用jspService(request,reponse)方法,渲染html返回给客户端。
 
 
JSP会被编译成.java放TomcatworkCatalinalocalhost***orgapachejsppage
然后编译成.class
jsp = java + html
 
servlet = java + out.print(html)
 
1.客户端发送请求给web容器
2.web容器将jsp首先转译成servlet源代码
3.web容器将servlet源代码编译成.class 文件
4.web容器执行.class 文件
5.web容器将结果响应给客户端
原文地址:https://www.cnblogs.com/labimeilexin/p/6737683.html