前提:目标网站(假设为“www.AAA.com”)的Web服务器已开启(假设Web服务器是Tomcat,那就是说Tomcat启动了,并且正在侦听80端口【Tomcat默认是侦听8080端口,这里为方便,改为80】)
1、客户(就是你)用客户端(就是浏览器)打开一个网站,例如:www.AAA.com/look(假设这个网站是JSP空间);
2、这个请求(就是“www.AAA.com/look”)到达这个网站的Web服务器(略去域名解析和IP寻址等细节,因为不是重点);
3、这个Web服务器Tomcat接到转过来的这个请求(http默认是80端口,所以能转过来),将请求的http数据包装成HttpServletRequest对象,将回应流包装成HttpServletResponse对象,了解到有人要看/look这个Web项目,就去自动部署目录(因为讲原理,尽量简单,不考虑动态部署和虚拟目录映射)tomcat\webapps下找look项目的欢迎页面index.jsp;
4、tomcat又接到一个请求“/look/index.jsp”。根据配置文件tomcat\conf\web.xml中的配置:
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
...
</servlet>
...
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
由org.apache.jasper.servlet.JspServlet来处理这个请求;
5、JspServlet接到这个请求后,先找到/look/index.jsp,内容为:
<% String wel = "welcome!"; %>
<script language="JavaScript">
alert("<%=wel %>")
</script>
然后把它编成index_jsp.java文件(实际上就是一个Servlet,这时已经没有<% ... %>这样的代码了,与之替代的就是相当的java代码)并编译成class文件index_jsp.class;
6、JspServlet将Tomcat封装好并传进来的HttpServletRequest对象和HttpServletResponse对象传入index_jsp.class的service方法(此方法为Servlet接口声明的方法)进行处理;(这个处理其实就是把index.jsp里的内容输出来,这时回应流里的内容就已经是:
<script language="JavaScript">
alert("welcome!")
</script>了)
7、tomcat接到这个回应流对象HttpServletResponse,又将它按http协议的格式传给客户(就是你)用的那个浏览器;
8、浏览器接到这个http数据的时候就是它的文本正文了(操作系统已经解析了)。浏览器拿到这个正文就开始解释:
<script language="JavaScript">
alert("welcome!")
</script>
了解到要解释这样一段脚本。它就开始分析语法--JavaScript语法,那就调JavaScript语法解释器,边解释边执行,弹出警告框"welcome!"。
总结:
Tomcat是服务器,是装在服务端的,你请求(就是开网页)前,它一定早就在等着你;
JavaScript是不需要设置环境的,基本没什么要设的,又不跨平台,又不做企业应用。它的执行结果完全由浏览器保证。
分享到:
相关推荐
通过阅读和分析源码,可以加深对Tomcat运行原理的理解,这对于解决实际问题和进行性能调优非常有帮助。 总之,《Tomcat深入剖析》结合源码分析,是一本全面且深入的Tomcat学习资源,无论是初学者还是经验丰富的...
【5.Tomcat服务器运行原理】 Tomcat服务器作为Apache软件基金会的Jakarta项目中的核心组件,是基于Java Servlet和JavaServer Pages(JSP)技术的Web应用服务器,它扮演着接收HTTP请求并处理这些请求的角色,然后将...
**Tomcat启动原理解析** Tomcat作为一款广泛使用的开源Java应用服务器,其启动过程涉及了众多关键步骤和组件的协同工作。理解Tomcat的启动原理对于开发者来说至关重要,不仅有助于提升性能优化的能力,还能在遇到...
4. **lib**: 分为多个子目录,存放Tomcat运行所需的库文件(JARs)。 5. **logs**: 记录Tomcat运行时的日志信息。 6. **src**: 放置Tomcat的源代码,对于开发者了解和修改源码很有帮助。 7. **webapps**: 默认的Web...
《深入解析Tomcat的工作原理》 一、简介与概览 Apache Tomcat是基于Java的开源Web服务器,它不仅能够运行Java Servlet,还能部署和执行Java Server Pages (JSP)技术,以及支持Java Web应用程序所需的其他标准协议...
Tomcat工作原理深入解析 Tomcat作为一款广泛应用的开源Java Servlet容器,它的内部架构和工作流程对于理解Web应用的运行至关重要。本文将深入探讨Tomcat的主要组成部分,包括Server、Service、Connector、Engine、...
虽然Tomcat最初作为Apache服务器的扩展存在,但它可以独立运行,不依赖Apache。在Tomcat中,核心功能是处理和执行Java Servlets和JSP程序。 **Tomcat的组成和工作流程** Tomcat的核心组件是Catalina,这是一个符合...
Tomcat运行状态检测 - **原理**:通过发送HTTP请求到Tomcat服务器上的某个路径(如`/manager/status`),然后根据返回的状态码及内容判断Tomcat是否处于正常运行状态。 - **实现方式**: - **创建URL对象**:使用...
**Tomcat服务器工作原理** ...理解Tomcat的工作原理有助于我们更好地管理和优化Java Web应用,提升服务器性能,解决运行中可能出现的问题。通过深入学习,我们可以根据应用需求定制Tomcat配置,使其达到最佳运行状态。
本文旨在深入探讨Tomcat的工作原理,尤其关注其内部机制如何支持Web应用的运行。目标读者是对Java Web开发感兴趣的开发者和技术爱好者。接下来,我们将逐步了解Tomcat的基本组成部分及其功能。 #### 二、Servlet...
**Tomcat工作原理详解** Tomcat是一款开源的Java Servlet容器,由Apache软件基金会开发并维护。它是Apache Jakarta项目的一部分,主要用于部署和运行Java Web应用程序。本文将深入探讨Tomcat的工作原理,包括其启动...
通常,Tomcat默认监听8080端口,通过webapp目录来加载和运行Web应用。 - **架构设计** - **连接器模型**:Tomcat支持两种连接器模型,即BIO( Blocking I/O)和NIO(Non-blocking I/O)。BIO模型采用同步阻塞的...
4. **lib**:存放Tomcat运行所需的库文件(JARS)。 5. **logs**:存放Tomcat的日志文件。 6. **src**:存放Tomcat的源代码。 7. **webapps**:存放部署的应用程序文件。 8. **work**:存放JSP编译后产生的Class文件...
《Tomcat架构原理》深入解析 一、Tomcat架构概览 Apache Tomcat是一个开源的Servlet容器,由Apache软件基金会的Jakarta项目提供。它主要实现了Servlet和JavaServer Pages(JSP)技术规范,同时也提供了HTTP服务器...
《Tomcat运行内幕-How Tomcat Works》这本书深入解析了Java Web服务器,特别是Apache Tomcat的工作机制,对于理解和优化Java EE应用的性能至关重要。虽然提供的章节有限,但我们仍能从中获取到许多关键知识点。 ...
《HowTomcatWorks》这本书详细解剖了Tomcat的内部运行机制,并以Tomcat4.1.12和5.0.18版本为例,一步步深入其工作原理。它首先提供了为各个组件创建简化版本的蓝图,帮助读者更容易理解每个组件的功能。随后,书中会...
tomcat运行java的原理 sts与tomcat的配置.exe