Servlet、Servlet容器

Servlet

    Servlet是用Java编写的服务器端程序,其主要功能在于交互式地浏览和修改数据,生成动态Web内容。

Servlet接口

    Servlet接口是所有Servlet类必须间接或者直接实现的一个接口,它定义了Servlet和Servlet容器之间的约定,这个约定是:Servlet容器将Servlet类加载到内存中并生成它的实例和调用该实例的具体方法,在一个应用程序中,一个Servlet类只能有一个实例( 那么如何同时处理多个请求?)。

Servlet 接口中定义的方法以及Servlet的生命周期


public interface Servlet {
    void init(ServletConfig var1) throws ServletException;
 
    ServletConfig getServletConfig();
 
    void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
 
    String getServletInfo();
 
    void destroy();

     接口中包括三个方法 init(), service(), destroy(),代表了Servlet从创建到工作最后被销毁的过程,Servlet容器会根据下列规则来调用这三个方法。

init(): 当Servlet第一次被请求,Servlet就会调用这个方法来初始化一个Servlet对象,但是这个方法在后续的请求中不会被Servlet容器调用,就像人只能出生一次,在调用这个方法时,Servlet容器会传入一个ServletConfig对象从而对Servlet对象进行初始化。

service(): 每当客户端请求Servlet时,Servlet容器就会调用这个方法,在第一次请求中,Servlet容器会调用init()方法初始化一个Servlet对象,然后调用service方法。在之后的请求中,Servlet容器直接调用service方法。 这个方法具有两个参数ServletRequest对象和ServletResponse对象,这两个对象都是由Servlet容器封装好的不需要我们实现,可以直接使用。
    ServletRequest:封装了当前的Http请求,因此开发人员无需解析和操作原始的Http数据。
    ServletResponse: 表示当前用户的Http响应,程序员只需要直接操作ServletResponse对象就能把响应发回给用户。
destory(): 当需要销毁Servlet时,Servlet容器就会调用这个方法,这个方法会在所有的线程执行完或者超时后执行,在执行完后Servlet容器不会再把请求发送给这个Servlet,这个方法可以用来释放Servlet占用的资源和执行一些清理工作。

Servlet容器

Web服务器

    web服务器是通过Http协议来传输信息的一种程序,用户在浏览器输入一个url,服务器通过http协议发送网页信息到客户端,然后用户获取网页进行浏览。Http协议指明了请求(Request)消息和响应(Response)消息的格式。

Servlet容器

    我们发现,通过客户端和web服务器只能实现静态网页的请求,如果用户要根据自己的需求来读取不同的动态网页,这种方式无法满足。Servlet容器的作用就是充当web服务器和Servlet之间的桥梁,web服务器通过Servlet容器来操作Servlet动态的生成网页,Servlet容器就是来装载Servlet的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值