servlet容器

容器就是你的程序运行时须要的环境javascript

1,Tomcat是Servlet的运行环境,即一个Servlet容器。html

2,Servlet容器的做用是负责处理客户请求,当客户请求来到时,Servlet容器获取请求,而后调用某个Servlet,并把Servlet的执行结果返回给客户。java

3,Servlet容器的工做过程是:当客户请求某个资源时,Servlet容器使用ServletRequest对象把客户的请求信息封装起来,而后调用java Servlet API中定义的Servlet的一些生命周期方法,完成Servlet的执行,接着把Servlet执行的要返回给客户的结果封装到 ServletResponse对象中,最后Servlet容器把客户的请求发送给客户,完成为客户的一次服务过程。每个Servlet的类都执行 init()、service()、destory()三个函数的自动调用,在启动时调用一次init()函数用以进行参数的初始化,在服务期间每当接收到对该Servlet的请求时都会调用Service()函数执行该Servlet的服务操做,当容器销毁时调用一次destory()函数。web

4,典型的Servlet应用是监听器、过滤器的实现。apache

JSP运行原理:当Web服务器上的JSP页面第一次被请求执行时,JSP引擎先将JSP页面文件转译成一个Java文件,即Servlet。Java Servlet是基于服务器端编程的API,用Java Servlet编写的Java程序称为servlet,servlet经过HTML与客户交互。服务器将前面转译成的Java文件编译成字节码文件,再执行这个字节码文件来响应客户的请求。当这个JSP页面再次被请求时,只要该JSP文件没有被改动,JSP引擎就直接调用已装载的Servlet。 编程

JSP和servlet的运行原理:小程序

JSP是一个运行在服务器端的程序,而javascript是运行在客户端的程序。两种程序是工做在不一样的地方。后端

Javascrīpt如何执行,服务器是不会知道的。
对于javascrīpt的代码在jsp页面中和普通的HTML代码意义上是彻底同样的。大可没必要理会,由于javascrīpt是在<sctipt>标记中的,而jsp是<%%>中的,而<%%>中的内容是不会加载到客户端。因此你能够利用JSP的规则来肯定那些javascrīpt的片段输出到客户端。
<%page language="java"%>在服务器端执行,<scrīpt language=javascrīpt>客户端执行,由浏览器的Javascrīpt引擎解释执行.
  客户端用户填写 HTML 表单,发送请求。 将请求发送给 服务器端servlet(tomcat是servlet的容器)。 servlet 将该 HTTP 请求转换成一个 MQSeries 消息,并将其放入一个队列。 后端应用程序处理该消息,而后经过消息队列发回一个应答。 servlet 从队列中检索消息,并将其存放在一个 Java Bean 中。 而后 servlet 调用编译过的 Java Server Page(JSP) 并动态生成结果 HTML 页面。 JSP 从 Java Bean 检索出该页面须要的数据,将其合并到 HTML,而后将结果页面发送给客户端。
JSP中的html代码和javascrīpt代码不会在服务器端执行,servlet 调用编译过的 Java Server Page(JSP) ,也就是运行由JSP编译成的class文件(运行的代码包括actionBean,formBean,通常的bean 和内嵌在JSP的Java代码).
apache是web服务器(不是客户端,大多数时候就是指代应用服务器,客户端通常都是web浏览器),tomcat是应用(java)服务器,它只是一个运行servlet的容器,能够认为是apache的扩展,可是能够独立于apache运行。一个Web运行程序(网站)能够有多个servlet,通常认为一个action就是一个servlet.
所谓Servlet是指运行在服务器端的Java小程序。用于响应客户端的请求。在默认状况下,Servlet采用一种无状态的请求-响应处理方式。Servlet代码的主要做用是为了加强Java服务器端的功能,它运行在服务器端,用于接收而且处理浏览器客户端发出的请求,该请求是经过配置文件web.xml的相关配置进行转发。也就是说Servlet是一个标准的Java类,它符合Java类的通常规则。和通常的Java类不一样之处只是在于Servlet能够处理Http请求。
1.servlet是持久的。servlet只需Web服务器加载一次,后续又用到这个servlet,就不须要再加载。(所谓加载是指servlet加载进JVM运行)
2.servlet是与平台无关的。
3.servlet是可扩展的。浏览器

ActionServlet继承自javax.servlet.http.HttpServlet类,其在Struts framework中扮演的角色是中心控制器。它提供一个中心位置来处理所有的终端请求。控制器ActionServlet主要负责将HTTP的客户请求信息组装后,根据配置文件的指定描述,转发到适当的处理器Action。tomcat

JSP 工做原理
全部JSP页面,在执行的时候都会被服务器端的JSP引擎转换为Servelet(.java),而后又由JSP引擎调用Java编译器,将Servelet(.java)编译为Class文件(.class),并由Java虚拟机(JVM)解释执行。下面验证这一点:

有一个JSP页面Test.jsp,在浏览器地址栏中输入http://localhost:8080/Test.jsp,将会出现执行结果。同时在%CATALINA_HOME%/work/Catalina/localhost下多出两个文件:_Test_jsp.java和_Test_jsp.class,他们分别就是Servelet和Class文件。
相关文章
相关标签/搜索