资讯专栏INFORMATION COLUMN

servlet容器

dcr309duan / 2337人阅读

摘要:,容器的作用是负责处理客户请求,当客户请求来到时,容器获取请求,然后调用某个,并把的执行结果返回给客户。将请求发送给服务器端是的容器。将该请求转换成一个消息,并将其放入一个队列。继承自类,其在中扮演的角色是中心控制器。

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

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

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

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

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

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是在标记中的,而jsp是<%%>中的,而<%%>中的内容是不会加载到客户端。所以你可以利用JSP的规则来确定那些javascrīpt的片断输出到客户端。
<%page language="java"%>在服务器端执行,客户端执行,由浏览器的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。

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文件。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64753.html

相关文章

  • servlet详解

    摘要:初始化的错误处理在初始化期间,实例可能通过抛出或者异常表明它不能进行有效服务。每一个请求由类型的对象代表,而使用回应该请求。在请求的情况下,容器必须提供代表请求和回应的和的具体实现。表明不能对请求进行处理,可能是暂时的,也可能是永久的。 servlet详解 Servlet有良好的生存期的定义,包括如何加载、实例化、初始化、处理客户端请求以及如何被移除。这个生存期由javax.Serv...

    elva 评论0 收藏0
  • Servlet解析

    摘要:自带的方法和方法最为重要主要完成以下工作创建用于解析的配置文件的对象。读取默认的自身的配置文件,如果存在则解析。 JAVA WEB 技术是当今主流的互联网WEB应用技术之一,而Servlet则是JAVA WEB 中的核心基础。最近在看了《深入分析Java Web技术内幕》(许令波 著)这本书发现了以前没有看到的内容,就想对书中的内容进行总结,也方便自己以后的回顾,所以就有了这篇文章。 ...

    用户83 评论0 收藏0
  • Servlet生命周期

    摘要:的生命周期是由它部署的容器控制的。管理生命周期事件你可以通过定义生命周期事件发生方法的监听器来监听的生命周期并做出反应。生命周期事件列表使用注解可以获取特定程序的各种事件。处理异常执行时,可能发生任意数量的异常。 Servlet的生命周期是由它部署的容器控制的。当一个请求映射到一个Servlet,Servlet容器执行下面的步骤。 1 如果不存在这个Servlet的实例,容器执行:...

    littlelightss 评论0 收藏0
  • 如何向一个WebApp引入Spring与Spring MVC

    摘要:可以发现,这两个类都是可以被实例化的,且构造器不需要参数。这段代码的后半部分其实没有什么新意,但下半部分的第一行非常关键接受一个作为构造器参数这实际上解决了我们在第四章测试失败后反思的可能的疑惑我们配置的容器实际上并没有和融合起来。 如何向一个WebApp引入Spring与Spring MVC 1 在Servlet 3.0环境中,容器(加载运行webapp的软件,如Tomcat)会在类...

    maochunguang 评论0 收藏0
  • 浅谈Servlet

    摘要:信息录入输入内容提交同样,我们也需要在下添加一条路由映射规则这样我们在中输入信息后就会跳转到,这样就可以通过对象获取到变量的值。 Servlet(服务端小程序)是使用Java语言编写的服务端小程序,可以用于生成动态的Web页面。 Servlet处理的基本流程 showImg(/img/bVk1Jd); 客户端通过HTTP提出请求。 Web服务器接受该请求并将其发送给Servle...

    wayneli 评论0 收藏0

发表评论

0条评论

阅读需要支付1元查看
<