初识Servlet - 草稿

Servlet能够做什么?

《Tomcat与javaweb开发技术详解》

Servlet API的核心类框图:

《Tomcat与javaweb开发技术详解》

Servlet API的核心是javax.servlet.Servlet接口,所有的Servlet类都必须实现该接口。在Servlet接口中定义了5个方法,其中有3个方法都是由Servlet容器调用,即管理Servlet的生命周期,分别是init(ServletConfig cfg)、service(ServletRequest req, ServletResponse resp)、destroy()方法。除此之外,另外两个方法是getServletConfig()和getServletInfo(),用于返回Servlet相关信息。

GenericServlet抽象类,为Servlet接口提供了通用实现,它与任何网络应用层协议无关。


HttpServlet类是GenericServlet类的子类。


ServletRequest接口,当Servlet容器接收到客户端要求访问特定请求时,容器先解析客户端的原始请求数据,把它包装成一个ServletRequest对象。当容器调用service(req, resp)方法时,就可以把ServletRequest对象作为参数传递给service()方法。

ServlerRequest接口提供了一系列用于读取客户端的请求数据的方法。这里不列举了。


HttpServletRequest接口是ServletRequest接口的子接口。


————

说完了ServletRequest,该说ServletResponse了。

没错,ServletResponse是Servlet容器service(req, resp)方法的第二个参数。Servlet容器通过它来生成响应结果。在ServletResponse接口中定义了一系列与生成响应结果相关的方法。这里不列举了。

有两种输出方法重点说一下:

《Tomcat与javaweb开发技术详解》

HttpServletResponse接口是ServletResponse的子接口。

——————

ServletConfig接口,包含了Servlet的初始化参数信息。Servlet容器在调用Servlet对象的init(cfg)方法时,会把ServletConfig对象作为参数传给Servlet对象。

每个初始化参数包括一对参数名和参数值。在web.xml中配置一个Servlet时,通过<init-param>元素来设置初始化参数。


## HttpServlet类继承GenericServlet类,而GenericServlet类实现了ServletConfig接口,因此在HttpServlet类或者GenericServlet及其子类中都可以直接调用ServletConfig接口中的方法。

——————

ServletContext接口,是Servlet与Servlet容器之间直接通信的接口。Servlet容器在启动一个web应用时,会为它创建一个ServletContext对象,且唯一!!可以把ServletContext对象形象的理解为web应用的总管家,同一个web应用中的所有Servlet对象都共享一个总管家,Servlet对象们可通过这个总管家来访问容器中的各种资源。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Servlet Interface 是Java Servlet API的核心抽象。所有的servlets都直接或者...
    Lucky_Micky阅读 1,720评论 2 2
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,341评论 11 349
  • web技术的发展 早期的web应用主要是静态页面的浏览,这些静态页面使用HTML语言编写,放在服务器上,用户使用浏...
    清枫_小天阅读 2,278评论 0 20
  • 一 servlet概述 狭义的Servlet指javax.servlet包中的一个接口,而广义的Servlet则是...
    静慎独阅读 476评论 0 0
  • 有的时候,宁愿大病一场,或者干脆死过去算了。疲惫乏力,根本没有精神。像行尸走肉一般,像小金刚一样……
    铃音子阅读 85评论 0 0