JSP技术详解(特点原理及4步工作流程)

JSP技术详解(特点原理及4步工作流程)-mikechen

JSP简介

JSP全称Java Server Pages,一种Java Servlet,主要用于实现Java web应用程序的用户界面部分。

 

为什么需要JSP?

JSP是为了简化Servlet的工作出现的替代品,Servlet输出HTML非常困难,JSP就是替代Servlet输出HTML的。

 

JSP技术特点

1)能够在任何Web 或应用程序服务器上运行:比如Apache服务器也都会提供对JSP的支持。

2)将程序逻辑和页面显示相分离:在使用 JSP 技术开发 Web 应用时,可以将界面的开发与应用程序的开发分离。

3)采用标签简化页面开发:使用JSP的标签可以执行访问和实例化JavaBeans组件。

4)组件可重用:JSP 可以使用 JavaBean 编写业务组件,在 JSP 页面甚至整个项目中,都可以重复使用这个 JavaBean。

 

JSP组成结构

下面是一个大家都最熟悉的JSP例子:

<html>
  <head>
      <title>HelloWorldJSP~</title>
  </head>
  <body>
      <%
         out.println("HelloWorld");
      %>
  </body>
</html>

由上面例子可以看出,JSP主要是由两部分组成:

1)静态部分

标准的HTML标签,静态的页面内容,这些内容与静态HTML页面相同。

2)动态部分

Java程序控制的内容,这些内容由Java程序来动态生成。

一句话总结:JSP = HTML + Java片段(各种标签本质上还是Java片段)。

 

JSP工作原理

当有人请求JSP时,服务器内部会经历一次动态资源(JSP)到静态资源(HTML)的转化,服务器会自动帮我们把JSP中的HTML片段和数据拼接成静态资源响应给浏览器。

具体如下图所示:

JSP技术详解(特点原理及4步工作流程)-mikechen

JSP的工作流程,大致分为如下4步:

1)当用户访问一个JSP页面时,首先会向Servlet容器,比如:向Tomcat发出请求;

2)如果是第一次请求页面,则Servlet容器首先要把JSP页面,比如:test.jsp转化为Servlet代码,比如:test.java,再将其转化为test.class文件。

3)然后,JSP容器负责调用从JSP转换来的Servlet,这些servlet负责提供服务相应用户请求。

比如:客户端发送表单,要求servlet:具体的表单.java来处理,则容器会建立一个线程,调用具体的表单.java来处理该请求。

如果用户有多个请求,则容器会建立多个线程处理多个请求。

4)容器执行字节码文件(具体的表单.java字节码),并将其结果返回到客户端,一般返回的方式html格式文件。

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法