认识JSP与JSP的简单运行原理

认识JSP与JSP的简单运行原理

什么是JSP

  • JSP(全称为Java Server Page),是sun公司为主导创建的一种动态网页技术标准,主要的目的就是将标识逻辑从servlet中分离出来
  • 它实现了Html语法中可以嵌入java编码的扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
  • 一般在web项目中,采用JSP+Servlet+JavaBean的技术(SSM)
  • JSP本质上就是Servlet,JSP也是Java类,通过JSP引擎将JSP转译成Servlet
  • 常见的集中动态网页技术:
    • JSP(Java Server Page)
    • ASP(Active Server Page)
    • PHP(Hypertext Preprocessor) 超文本预处理语言

JSP的继承结构

  • JSP文件转换成JAVA代码之后,它默认继承了HttpJSPBase,实现了JSPSourceDependent,和JSPSourceImports两个接口,其中HttpJSPBase又继承了HttpServlet ,也就是说,JSP本质上就是一个Servlet

JSP的简单运行原理

在这里插入图片描述

  1. 客户端发出Request请求
  2. JSP Container 将JSP转译成Servlet的源代码.java文件
  3. 将产生的Servlet源代码经过编译后.生成字节码.class文件
  4. 将.class字节码文件加载进入内存并执行,其实就是在运行一个Servlet
  5. 通过Response对象将数据响应给浏览器

JSP的加载引擎

  • 通过查看tomcat web.xml我们发现,这里默认配置了一个JSP的加载引擎—JSPServlet
<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>fork</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>xpoweredBy</param-name>
        <param-value>false</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
</servlet>
  • 匹配路径规则如下:
<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
    <url-pattern>*.jspx</url-pattern>
</servlet-mapping>
  • 通过上面的代码可以发现,浏览器在请求JSP的时候都会被JSP加载引擎匹配

转译JSP页面:

  • 将JSP页面翻译成一个Servlet,这个Servlet是一个java文件,同时也是一个完整的java程序

编译JSP对应java文件:

  • JSP引擎调用java编译器对这个Servlet进行编译,得到可执行文件class

请求处理阶段:

  • JSP引擎调用java虚拟机来解释执行class文件,生成向客户端发送的应答,然后发送给客户端
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值