jsp编译原理

本文介绍了JSP和HTML、Servlet的区别以及JSP的运行过程。JSP是动态页面,需要经过编译和转译,转化为Servlet后由Tomcat执行。在Tomcat的work目录下可以看到编译后的文件。当JSP首次调用或修改时,才会进行编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先我们了解几个知识点

(1)html与jsp区别?

 HTML是文本标记语言,它是静态页面,和JavaScript一样解释性语言,只要有浏览器那么它就可以正常显示出来,而不需要指定的编译工具,只需在TXT文档中写上HTML标记就OK。

 JSP(Java Server Page)是Java服务端的页面,它是动态的,需要经过JDK编译后把内容发给客户端去显示,JSP不止要编译,它还得要转译,首先把JSP转译成一个Servlet文件,然后在编译成class文件。当用户访问JSP时就执行了class文件。在jsp中用<%%>就可以写Java代码了,而html没有<%%>


(2)jsp与servlet区别?

 Servlet以Java程序为主, 输出HTML代码时需要使用out.println函数,也就是说Java中内嵌HTML; 而JSP则以HTML页面为主,需要写Java代码时则在页面中直接插入Java代码,即HTML中内嵌Java。其实JSP就是Servlet,JSP侧重视图,Sevlet主要用于控制逻辑。


(3)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类方法servicerequestresponse

6:service方法里面调用jspService(request,reponse)方法,渲染html返回给客户端。 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KunQian_smile

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值