一、基础接口——javax.servlet.Servlet
Servlet接口定义了所有servlet都必须实现的方法。
Servlet是一个小型的运行在web服务器上的java程序。Servlet通过通过HTTP协议接收和响应客户端的请求。
要实现这个接口,可以编写一个通用的继承了 javax.servlet.GenericServlet类的servlet,或者是编写一个继承了javax.servlet.http.HttpServlet类的HTTP的servlet。
这个接口定义了初始化servlet的方法,service请求,以及从服务器中移除servlet的方法。这些是servlet的生命周期方法,它们按照下面的顺序被调用:
-
servlet类初始化之后,则会调用init()方法进行初始化。
-
任何客户端对service()方法的调用都会被处理.
-
servlet从服务中被移除并且使用destroy()方法销毁该servlet,之后垃圾收集器会回收该servlet资源。
除了生命周期方法之外,这个接口还提供了getServletConfig()方法,servlet可以使用这个方法获得任何启动的信息。而getServletInfo()方法则可以允许servlet返回有关servlet本身的基本信息,比如作者、版本以及版权信息等。
javax.servlet.Servlet接口定义的方法如下所示:
- public void init
(ServletConfig config) throws ServletException——初始化方法
- public void service
(ServletRequest req, ServletResponse res) throws ServletException, IOException——处理客户端请求的方法
- public void destroy
()——销毁servlet的方法
- public ServletConfig getServletConfig()——返回包含了关于该servlet本身的初始化和启动参数信息的ServletConfig对象,该ServletConfig
对象会被传递给
init
()
方法使用。
- public String getServletInfo()——返回有关servlet本身的基本信息,比如作者、版本以及版权信息。
二、通用的servlet类——javax.servlet.GenericServlet
javax.servlet.GenericServlet是一个实现了javax.servlet.Servlet接口以及javax.servlet.ServletConfig接口的抽象类。
javax.servlet.GenericServlet抽象类定义了一个通用的、与协议无关的servlet。如果要编写一个在Web上使用的HTTP servlet,则这个servlet需要继承javax.servlet.http.HttpServlet
类,而不是继承javax.servlet.GenericServlet类。
javax.servlet.GenericServlet类可以直接被其他servlet继承,虽然更普遍的是继承一个指定协议的javax.servlet.GenericServlet类的子类,比如javax.servlet.http.HttpServlet类。
javax.servlet.GenericServlet类使得servlet更容易编写。它提供了生命周期方法init()和destroy()的简单实现版本,也实现了javax.servlet.ServletConfig接口中的方法的简单实现。javax.servlet.GenericServlet类也实现了log()方法,这个方法在javax.servlet.ServletContext接口中进行了声明。
因此,要编写一个通用的servlet,你必须实现的方法只有抽象方法service()
。.
三、HTTP协议使用的servlet——javax.servlet.http.HttpServlet
javax.servlet.http.HttpServlet类是抽象类javax.servlet.GenericServlet的子类,这个HttpServlet类是一个适合于web网站的HTTP servlet。javax.servlet.http.HttpServlet的子类必须至少重写下面这些方法中的一个:
- doGet()方法——如果这个servlet支持HTTP GET请求。
- doPost()方法——如果这个servlet支持HTTP POST请求。
- doPut()方法——如果这个servlet支持HTTP DELETE请求。
- init()和destroy()方法——如果这个servlet需要管理生命周期的资源。
- getServletInfo()方法——用来提供有关servlet本身的信息。
这里没有什么理由需要重写service()
方法。service()
方法通过为每个HTTP请求类型分配处理器方法(上面列出来的doXXX方法)来处理标准的HTTP请求。
同样地,这里也没有理由需要重写doOptions()和doTrace()方法。
Servlet往往运行在多线程的服务器上,因此要意识到一个servlet必须处理并发请求,并且要谨慎处理同步访问共享资源。共享资源包括内存数据比如实例或者类变量,外部对象比如文件、数据库连接和网络连接。
分享到:
相关推荐
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...
**林学良Jsp&Servlet学习笔记**: 这份学习资料可能是对JSP和Servlet基础知识的系统性讲解,涵盖了上述概念和原理,适合初学者入门。通过阅读这份笔记,你可以了解JSP和Servlet的基本语法、生命周期、以及如何将它们...
Servlet是Java平台中用于开发Web应用程序的核心技术之一,它是一个Java类,遵循Java Servlet API规范,用于处理来自客户端(通常是Web浏览器)的HTTP...学习和理解Servlet是成为一名合格的Web开发者的关键技能之一。
Java Servlet是Java Web开发中的核心组件之一,它用于构建动态网站和Web应用程序。Servlet是一个Java类,遵循Java Servlet API规范,能够接收并响应来自客户端(如浏览器)的HTTP请求,处理数据,然后返回响应结果。...
【标题】"J2EE学习,servlet学习" 在IT领域,J2EE(Java 2 Platform, Enterprise Edition)是一个广泛使用的服务器端平台,用于构建和部署企业级应用程序。Servlet是J2EE的重要组成部分,它是一种Java编程接口,...
Java Servlet 是一种基于Java的服务器端编程技术,用于构建动态Web应用。...Servlet是Java 2平台的重要组成部分,旨在替代CGI...通过学习和掌握Servlet技术,开发者可以构建出复杂的企业级应用系统,满足各种业务需求。
在本篇文章中,我们将深入探讨如何在Java中编写一个Servlet,以及一天之内掌握Servlet的基本知识。 首先,我们需要了解Servlet的生命周期。Servlet的生命周期包括初始化、服务和销毁三个阶段。在初始化阶段,服务器...
学习 JSP 和 Servlet 要注重理论与实践相结合,不仅要理解它们的工作原理,还要通过编写实际项目来提升技能。同时,不断关注新技术,如 Spring Boot 和微服务架构,这将有助于你更好地适应 Java Web 开发的未来趋势...
### Servlet学习笔记精炼知识点 #### 一、Servlet初始化与加载机制 1. **Servlet注册与实例化**:在Web应用中,一个Servlet的生命周期始于它的注册与实例化过程。通常,这一过程是在Web服务器启动时,根据`web.xml...
在"Servlet学习demo程序"中,我们可能找到了一个名为ServletDemo的示例,这个例子可能是为了演示如何创建和运行一个简单的Servlet。 要入门Servlet,你需要理解以下几个关键概念: 1. **Servlet生命周期**:...
**JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。
### Servlet学习入门教材知识点概述 本教材旨在帮助初学者理解并掌握Servlet的基础概念与核心技术,以便于更好地在Java Web开发领域进行深入探索。以下将详细阐述该教材中的关键知识点: #### 1. Servlet简介 - **...
总之,"servlet学习的一个例子"涵盖了Servlet与JSP的基本概念和协作方式,通过实践可以更好地理解和掌握这些核心技术,为构建复杂的Java Web应用打下坚实基础。在这个项目中,你可以看到Servlet如何处理请求,如何与...
吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案 本资源为吉林大学珠海学院JSP&Servlet学习笔记(第二版)的课后答案,涵盖了JSP和Servlet相关的知识点。本笔记共分为九章,每章节都包含了相关的问题答案,...
本“Servlet学习手册”将深入探讨Servlet的基础概念、工作原理以及实际应用。 首先,我们需要理解Servlet的基本概念。Servlet是在Java平台上运行的小程序,它们在Web服务器中运行,可以扩展服务器的功能,比如处理...
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。, 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...
**JSP(Java Server Pages...通过系统学习JSP与Servlet,你可以构建出功能丰富的、响应式的Web应用程序,为你的职业生涯开辟新的可能。在实际项目中,理解它们的协同工作原理和最佳实践,将有助于提高开发质量和性能。
本"Servlet学习资料大全(教程)"集合了丰富的资源,旨在帮助学习者全面掌握Servlet技术,从而实现高效、动态的Web应用开发。 一、Servlet基础 Servlet是一个Java类,它遵循Servlet API规范,该API是Java EE的一...
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP &Servlet;时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...