httpget请求怎么选定serverlet

httpget请求怎么选定serverlet,第1张

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他>

大多数程序员都知道Servlet的生命周期,简单的概括这就分为四步:servlet类加载--->实例化--->服务--->销毁。对这个过程只是肤浅了解下,对于servlet何时被销毁,还是不太情楚。下面我们描述一下Tomcat与Servlet是如何工作的,首先看下面的时序图

1、Web Client 向Servlet容器(Tomcat)发出>

2、Servlet容器接收Web Client的请求

3、Servlet容器创建一个>

4、Servlet容器创建一个>

5、Servlet容器调用>

传给 >

6、>

7、>

8、Servlet容器把>

对于Servlet容器(Tomcat)与>

Servlet的框架是由两个Java包组成的:javaxservlet与javaxservlet>

在Servlet接口中定义了5个方法,

其中3个方法代表了Servlet的生命周期:

1、init方法:负责初始化Servlet对象

2、service方法:负责响应客户的请求。

3、destroy方法:当Servlet对象退出生命周期时,负责释放占用的资源。

一、创建Servlet对象的时机

1、Servlet容器启动时:读取webxml配置文件中的信息,构造指定的Servlet对象,创建ServletConfig对象,同时将ServletConfig对象作为参数来调用Servlet对象的init方法。

2、在Servlet容器启动后:客户首次向Servlet发出请求,Servlet容器会判断内存中是否存在指定的Servlet对象,如果没有则创建它,然后根据客户的请求创建>

对象的service方法。

3、Servlet的类文件被更新后,重新创建Servlet

Servlet容器在启动时自动创建Servlet,这是由在webxml文件中为Servlet设置的<load-on-startup>属性决定

的。从中我们也能看到同一个类型的Servlet对象在Servlet容器中以单例的形式存在。

二、销毁Servlet对象的时机

1、Servlet容器停止或者重新启动:Servlet容器调用Servlet对象的destroy方法来释放资源。以上所讲的就是Servlet对象的生命周期。那么Servlet容器如何知道创建哪一个Servlet对象?

Servlet对象如何配置?实际上这些信息是通过读取webxml配置文件来实现的。

我们来看一下webxml文件中的Servlet对象的配置节信息

-------------------------------------------

<servlet>

<servlet-name>action<servlet-name>

<servlet-class>orgapachestrutsactionActionServlet</servlet-class>

<init-param>

<param-name>config</param-name>

<param-value>/WEB-INF/struts-configxml</param-value>

</init-param>

<init-param>

<param-name>detail</param-name>

<param-value>2</param-value>

</init-param>

<init-param>

<param-name>debug</param-name>

<param-value>2</param-value>

</init-param>

<load-on-startup>2</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>action</servlet-name>

<url-pattern>do</url-pattern>

</servlet-mapping>

--------------------------------------------

下面对上面的配置节信息进行解析

servlet-name:Servlet对象的名称

servlet-class:创建Servlet对象所要调用的类

param-name:参数名称

param-value:参数值

load-on-startup:Servlet容器启动时加载Servlet对象的顺序

servlet-mapping/servlet-name:要与servlet中的servlet-name配置节内容对应

url-pattern:客户访问的Servlet的相对URL路径

当Servlet容器启动的时候读取<servlet>配置节信息,根据<servlet-class>配置节信息创建Servlet对象,同时根据<init-param>配置节信息创建>

为了验证下,我新建了一个web app工程,新建一个Servlet,如下:

Java代码  收藏代码

package comtdtservlet;

import javaioIOException;

import javaioPrintWriter;

import javaxservletServletException;

import javaxservlet>

import javaxservlet>

import javaxservlet>

public class TestServlet extends >

public void doGet(>

throws ServletException, IOException {

thisdoPost(request, response);

}

public void doPost(>

throws ServletException, IOException {

responsesetContentType("text/html");

PrintWriter out = responsegetWriter();

outprintln("Hello,this is a test");

outflush();

outclose();

}

public void destroy() {

Systemerrprintln(getServletName()+"生命周期结束");;

}

public void init() throws ServletException {

Systemoutprintln(getServletName()+"执行初始化");

}

}

以上就是关于httpget请求怎么选定serverlet全部的内容,包括:httpget请求怎么选定serverlet、javabean、jsp、serverlet是什么关系、如何serverlet生命周期测试代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9816616.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存