web服务器的jsp(Web服务器的解决方案有哪些)

本文目录一览:

对Web服务器中的JSP的访问主要过程是如何的

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

他会解析后再呈现为HTML格式。(包括JS、EL表达式、自定义标签、引用CSS、JS等)

web服务器怎样处理jsp

具体是这样的:

JSP页面会在第一次被请求的时候,被web container 翻译成servlet,编译成字节码,最后处理成html传回客户端(浏览器端),浏览器进而对此html进行render,这就是客户就可看到东西。

JSP如果修改了,之后对此JSP的访问还会被web container进行翻译及编译的工作,但是如果JSP没有修改,将不会被web container重新翻译及编译,以此来提高jsp对客户端的响应速度。

JSP页面是在web服务器上运行吗?

是的,JSP页面显示转译成servlet,然后再编译成字节码文件(*.class),最后在java虚拟机上运行,而转译靠的是web服务器.

第一次访问JSP是比较慢的,就是因为jsp页面先要转译成servlet,再编译成class文件,最后虚拟机运行,而 第二次访问同一jsp页面就比较快了,省略了转译和编译的过程,上一次编译好的class文件直接在虚拟机上运行就可以了.

jsp的工作原理

JSP工作原理 JSP

在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。 JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功, JSP引擎用javac把该Java源文件编译成相应的class文件。然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。然后jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,如果在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet从内存中移去。当这种情况发生时jspDestroy()方法首先被调用, 然后servlet实例便被标记加入”垃圾收集”处理。 jspInit()及jspDestory()格式如下:可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源。

%!

public void jspInit()

{

System.out.println(“jspinit”);

}

%

%!

public void jspDestory()

{

System.out.println(“jspDestory”);

}

%

jsp在Web服务器上的运行过程是什么

以jsp为例吧。

用户向web服务器以HTTP请求的形式请求资源。HTTP请求中有几个重要的参数,一个是请求方法GET还是POST还是其它,请求的URL是Sample.jsp。

服务器得到这些请求后对参数进行分析,如/Sample.jsp的URL请求,这个请求一般会映射一个jsp页面或servlet,服务器会把浏览器的HTTP请求打包提供给index.jsp来运行(注意,jsp最终会被编译为可运行的类文件,它的任务是说明向浏览器发送什么数据)

jsp或servlet运行的结果就是向浏览器回送一次HTTP回应,这个回应也包括一些参数和最后的正文,正文的内容就是html语言了。浏览器对html进行解释,html正文里还有一些资源如如img src=”…” /,浏览器会再一次对服务器进行请求,不过对于图片这些静态内容,服务器是会直接返回的(不会经过jsp或servlet的)

一次完整的动态web交互就完成了 :HTTP请求-》服务器处理-》HTTP回应

如果觉得这个是那么回事就给点分撒,呵呵

原创文章,作者:EWMFP,如若转载,请注明出处:https://www.506064.com/n/317534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
EWMFPEWMFP
上一篇 2025-01-11 16:27
下一篇 2025-01-11 16:27

相关推荐

  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • docker-ce-18.03.1.ce-1.el7.centos.x86_64需要pigz这个依赖的解决方案

    当我们在linux centos系统中安装docker-ce-18.03.1.ce-1.el7.centos.x86_64时,有时可能会遇到“nothing provides pi…

    编程 2025-04-29
  • Python通配符有哪些

    Python通配符是一种表示字符串中模糊匹配的有效工具,用于匹配与具有特定模式匹配的字符串。Python中主要的通配符有:*,?,[]和{}。 一、星号通配符 * 在Python中…

    编程 2025-04-29
  • Python Web开发第三方库

    本文将介绍Python Web开发中的第三方库,包括但不限于Flask、Django、Bottle等,并讨论它们的优缺点和应用场景。 一、Flask Flask是一款轻量级的Web…

    编程 2025-04-29
  • 服务器安装Python的完整指南

    本文将为您提供服务器安装Python的完整指南。无论您是一位新手还是经验丰富的开发者,您都可以通过本文轻松地完成Python的安装过程。以下是本文的具体内容: 一、下载Python…

    编程 2025-04-29
  • IDEA Java发送邮件出现错误解决方案

    IDEA Java是一款常用的Java开发工具,很多开发者都使用它来开发Java应用程序。然而,在使用IDEA Java发送邮件时,有可能会出现一些错误。本文将从多个方面对该错误进…

    编程 2025-04-29
  • 光模块异常,SFP未认证(entityphysicalindex=6743835)——解决方案和

    如果您遇到类似optical module exception, sfp is not certified. (entityphysicalindex=6743835)的问题,那么…

    编程 2025-04-29
  • STUN 服务器

    STUN 服务器是一个网络服务器,可以协助网络设备(例如 VoIP 设备)解决 NAT 穿透、防火墙等问题,使得设备可以正常地进行数据传输。本文将从多个方面对 STUN 服务器做详…

    编程 2025-04-29
  • 打包后页面空白的解决方案

    当我们在调试阶段时,我们的app可能看起来完美无缺,但当我们进行打包时,在运行app时,我们可能会遇到白屏或空白的问题。在这篇文章中,我们将探讨如何解决这种问题。 一、检查文件路径…

    编程 2025-04-29
  • 解决docker-compose 容器时间和服务器时间不同步问题

    docker-compose是一种工具,能够让您使用YAML文件来定义和运行多个容器。然而,有时候容器的时间与服务器时间不同步,导致一些不必要的错误和麻烦。以下是解决方法的详细介绍…

    编程 2025-04-29

发表回复

登录后才能评论