什么是servlet以及相关接口抽象类

1.什么是servlet?

        Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

       狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

                          ------------------------------------------------------------------------------ 摘自百度.

简单理解一下:

    a.servlet的作用是服务器和浏览器交互的连接器.

    b.对于java来讲,servlet就是一个java的接口,凡是实现了该接口的实例就是servlet.

2.servet相关接口及其相关.

   servlet 接口中一共定义了5个方法

 1. init()    
 2. service() 
 3. destroy() 
 4. getServletConfig() 
 5. getServletInfo() 

Servlet API 中主要接口及实现类,包括:

与Servlet实现相关的Servlet接口 
       Servlet接口
       GenericServlet抽象类
       HttpServlet抽象类 

与请求和响应相关的接口 
       ServletRequest接口
       ServletResponse接口
       HttpServletResquest接口
       HttpServletResponse接口

与Servlet配置相关的接口 
       ServletConfig接口
       Servlet上下文 
       ServletContext接口

请求转发 
      RequestDispatcher接口

GenericServlet抽象类

该类定义了一个通用的、不依赖于具体协议的Servlet,他实现了Servlet接口和ServletConfig接口。 
由于该类给出了除了service()方法的其他4个方法的简单实现。所以,通过继承GenericServlet来编写Servlet类,只需要实现service()方法即可。

HttpServlet抽象类

大多数的网络应用中,都是客户端通过HTTP协议去访问服务器端的资源,而我们所编写的Servlet也主要用于HTTP协议的请求和响应。为了快速开发应用于HTTP协议的Servlet类,Sun公司在javax.servlet.http包中给我们提供了一个抽象的类HttpServlet,它继承自GenericServlet类,用于创建适合Web站点的HTTP Servlet。

另外,针对HTTP1.1中定义的7种请求方法GET,POST,HEAD,PUT,DELETE,TRACE,OPTIONS,HttpServlet分别提供了7个处理方法: 
doGet(),doPost(),doHead(),doPut(),doDelete(),doTrace(),doOptions() 
当容器接收到一个针对HttpServlet对象的请求时,调用该对象中的方法的顺序如下: 
1. 调用公共(public) service()方法。 
2. 在公共的 service() 方法中,首先将参数类型转换为HttpServletRequest和HttpServletResponse,然后调用保护的(protected) service()方法,将转换后的HttpServletRequest对象和HttpServletResponse对象作为参数传递进去。 
3. 在保护的service()方法中,首先调用HttpServletRequest对象的getMethod()方法,获取HTTP请求方法的名字,然后跟去请求方法的类型,调用相应的doXxx()方法。

因此我们在编写HttpServlet派生类的时候,一般不需要去覆盖service()方法,而只需要重写相应的doXxx()方法即可。

HttpServlet对这7种方法的实现: 
1. TRACE和OPTIONS做了适当实现,不需要去覆盖。 
2. 其他5个提供的实现都是返回HTTP错误。

与请求和响应相关的接口

Servlet由Servlet容器管理,当用户请求到来时,容器创建一个ServletRequest对象,封装请求数据,同时创建一个ServletResponse对象,封装响应数据。这两个对象被容器作为service()方法的参数传递给Servlet,Servlet利用ServletRequest对象获取客户端发送来的请求数据,利用ServletResponse对象发送响应数据。

对于HttpServletRequest对象和HttpServletResponse对象分别继承与ServletRequest对象和ServletResponse对象,并且在原有方法基础上新增一些方法。但都是用作封装请求数据和响应数据。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值