首页 > 其他分享 >【webapp】JSP工作原理和过程

【webapp】JSP工作原理和过程

时间:2023-10-08 11:34:10浏览次数:36  
标签:Java 编译 JSP 服务器 原理 webapp Servlet 页面

  1. JSP 编译:当客户端请求访问一个 JSP 页面时,Web 服务器首先检查是否已经编译过该 JSP 页面。如果没有编译过或者源文件已更改,服务器会将 JSP 文件编译成一个 Servlet 源文件。

  2. Servlet 编译:编译后的 Servlet 源文件进一步被编译成 Java 字节码文件,这个过程由服务器的 JSP 引擎完成。编译后的 Servlet 类继承自 HttpServlet 类,并实现了 JspPage 接口,它包含了 JSP 页面的定义、脚本和表达式。

  3. Servlet 实例化:每当有客户端请求访问该 JSP 页面时,服务器会实例化这个 Servlet 类,创建一个 Servlet 对象。

  4. 初始化和加载:Servlet 对象的初始化由容器(如 Tomcat)负责处理。在初始化阶段,Servlet 可以执行一些必要的操作,如加载数据库驱动程序、建立数据库连接等。

  5. 执行过程:当客户端请求访问 JSP 页面时,Servlet 对象会被调用。Servlet 会执行与 JSP 页面相关的 Java 代码,包括脚本和表达式。这些代码可以访问和处理请求的参数、会话数据和其他相关信息。

  6. 生成响应:Servlet 会生成动态内容作为响应,并将其发送回客户端。动态内容可以包含 HTML、CSS、JavaScript 和其他服务器端生成的数据。

  7. 销毁:在 Web 应用程序关闭或重新部署时,Servlet 对象会被销毁。在销毁阶段,Servlet 可以执行一些清理操作,如关闭数据库连接、释放资源等。

  JSP 页面的代码混合了 HTML 和 Java 代码,使得开发人员能够更方便地生成动态内容。在 JSP 页面编译和执行过程中,服务器会将 HTML 静态内容保持不变,并在需要时执行嵌入的 Java 代码,从而生成动态内容

标签:Java,编译,JSP,服务器,原理,webapp,Servlet,页面
From: https://www.cnblogs.com/mamamia/p/17748486.html

相关文章

  • 简述memcached的工作原理
     Memcached只支持能序列化的数据类型,不支持持久化,基于Key-Value的内存缓存系统1.内存分配机制 应用程序运行需要使用内存存储数据,但对于一个缓存系统来说,申请内存、释放内存将十分频繁,非常容易导致大量内存碎片,最后导致无连续可用内存可用。 Memcached采用了Slab......
  • 简述redis集群的实现原理
     为了解决单机性能的瓶颈,提高Redis性能,可以使用分布式集群的解决方案1.所有Redis节点使用(PING机制)互联2.集群中某个节点的是否失效,是由整个集群中超过半数的节点监测都失效,才能算真正的失效3.客户端不需要proxy即可直接连接redis,应用程序中需要配置有全部的r......
  • nginx负载均衡中常见的算法及原理有哪些?
     #1)轮询(round-robin) 轮询为负载均衡中较为基础也较为简单的算法,它不需要配置额外参数。假设配置文件中共有台服务器,该算法遍历服务器节点列表,并按节点次序每轮选择一台服务器处理请求。当所有节点均被调用过一次后,该算法将从第一个节点开始重新一轮遍历。 特点:由于......
  • 简述DNS服务器原理,并搭建主-辅服务器
    1)DNS简介:DNS是计算机域名系统(DomainNameSystem或DomainNameService)的缩写。域名便于人们记忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。上网时输入的网址通过域名解析系统解析找到了......
  • 【Cpp】RTTI 机制原理解析
    ReferencesBaiduWikiC++中的RTTI机制详解RTTI推荐阅读:RTTI原理推荐阅读:C++中的RTTI机制什么是RTTI机制?RTTI是“RuntimeTypeInformation”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类型的方法。RTTI通过运行时类型信息程序能够使用基类的指针或引用......
  • jsp与Dao层合作实现分页功能
    studentList.jsp里面加样式居中和分页栏居中:.pagination{    text-align:center;}  分页栏: <divclass="pagination">    <c:iftest="${currentPage>1}">        <ahref="${pageContext.request.contextPath}/ShowStudentServlet?pa......
  • 归并排序原理、演示及代码
    归并排序1.原理归并排序是一种排序算法,它通过将待排序的数组或列表递归分割成较小的子数组,然后将这些子数组合并以生成一个有序的数组。2.操作分割(Divide):将待排序的数组分成两个大致相等的子数组,或者将列表分成两部分。这个过程是递归的,直到每个子数组或子列表都只包含一个元......
  • 08-定时器的基本原理与应用
    定时器的基本原理与应用1、什么是定时/计数器?在没有钟表的时候,定时的方式通过有一注香的时间,或者一桶水的时间。前者烧香不断减少是减法,后者滴水不断增加是加法。定时/计数器,是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向CPU提出中断处理请求,从而实......
  • HashMap 的实现原理
    (1)简介HashMap基于map接口,元素以键值对方式存储,允许有null值,HashMap是线程不安全的。(2)基本属性初始化大小,默认16,2倍扩容;负载因子0.75;初始化的默认数组;sizethreshold。判断是否需要调整hashmap容量(3)HashMap的存储结构JDK1.7中采用数组+链表的存储形式。HashMap采取Entry数组来......
  • 微机原理笔记
    \[chapter1.\quad绪论\]Intel微处理器的发展1978年:8086/8088微处理器出现,首枚16位微处理器。微型计算机概述计算机加电以后,首先运行BIOS(BasicInputOutputSystem)系统,进行硬件的检查、初始化(加电时寄存器的内容是随机的)、给操作系统提供编程接口等。通过硬件驱动程......