from now, 开始我的web开发扫盲系列。搞web,怎么能不懂servlet呢?but,我就是不懂,那就从servlet开始。
什么是servlet?
servlet就是在服务器端运行的一个程序,是一个被编译好的java类;当web服务器开始执行时,servlet类就被初始化;当现实在某个浏览器上的XHTML文档请求某个servlet类对象时,该对象就在服务器上运行。它会处理浏览器上发来的请求,并动态生成XHTML文档作为响应。
其实通俗点讲,它的作用就是:动态生成对浏览器请求的响应。
servlet的实现
任何servlet要么实现Servlet接口,要么就得扩展实现一个Servlet类。
客户在编程时,通常使用的是继承一个HttpServlet类(HttpServlet类是对GenericServlet类的继承,GenericServlet类是一个预定义的Servlet接口的实现)。
HttpServlet提供了多种响应客户请求的方法,最常用的几种方法如下表:
方法 |
用途 |
doGet |
处理HTTP GET请求 |
doPost |
处理HTTP POST请求 |
doPut |
处理HTTP PUT请求 |
doDelete |
处理HTTP DELETE请求 |
我们在继承HttpServlet时,必须覆盖上面方法的至少其中一种。
其中HTTP PUT和HTTP DELETE的作用分别是客户端请求上传文件到服务器或者删除服务器上的文件,而在大多数情况下,服务器时不允许用户操作上面的文件,所以一半情况下,我们只需要覆盖doGet、doPost方法,即处理HTTP GET和HTTP POST请求。
下面我么讲一个例子,怎么去覆盖doGet方法(doPost方法类似)
doGet方法的协议如下:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException
其中两个参数,HttpServletRequest参数包含了客户端请求,HttServletResponse提供服务器返回给客户段的响应方法。
现在假设我们客户端发送一个HttpGet请求,希望服务器返回一个字符串,我们来看看服务器端的servlet要怎么写
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class TestServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter returnHTML;
response.setContentType("text/html"); //设置文档的返回类型
returnHTML = response.getWriter();
returnHTML.println("<html><head><title>");
returnHTML.println("A simple GET servlet");
returnHTML.println("</title></head><body>");
returnHTML.println("<h2> This is your servlet answering </h2>");
returnHTML.println("</body></html>");
returnHTML.close();
}
}
这样我们就返回了一句“This is your servlet answering“来响应客户段的get请求。
另外别忘了,现在常用Tomcat servlet容器来运行servlet。至于Tomcat的配置方法,自己google去吧。
分享到:
相关推荐
Servlet 详解 Servlet 是 Java 语言中的一种服务器小程序,它可以与运行于客户端的 Applet 进行交互,也可以直接与 HTML 页进行交互。Servlet 的功能包括: 1. 与客户端 Applet 进行交互 2. 直接与 HTML 页进行...
### Servlet详解 #### 1. Servlet工作原理 Servlet是一种服务器端的小程序,主要用来处理HTTP请求并返回HTTP响应。Servlet由Servlet容器(如Tomcat、Jetty等)管理其生命周期,这种容器通常作为Web服务器的一部分...
Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。Web 应用程序开发人员通常编写 Servlet 来扩展 javax.servlet.http.HttpServlet,并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求。
Servlet是Java Web开发中的核心组件,它是一种运行在服务器端的Java程序,专门用来处理客户端的请求并生成响应。Servlet的主要职责是实现客户端与服务器之间的数据交互,这在构建动态Web应用时至关重要。Servlet不仅...
struts1之ActionServlet详解 struts1框架中的ActionServlet是Struts1架构的核心组件之一,负责处理用户请求、交互ActionForm、ActionMapping和Action等组件,以完成用户请求。下面将详细介绍ActionServlet的工作...
### 使用Servlet接口手动开发Servlet详解 #### 一、概述 本文档将详细介绍如何通过实现`Servlet`接口的方式,从零开始构建一个简单的Servlet程序。这个Servlet不仅会显示“Hello World”,还会显示当前的时间。这...
`@WebServlet` 是Java Servlet API 3.0引入的一个注解,它简化了Servlet的配置,使得开发者无需在web.xml文件中手动配置Servlet。本篇文章将深入解析`@WebServlet` 注解的使用方法和它提供的各种特性。 首先,`@Web...
### 手动编译与部署Servlet详解 #### 一、Servlet简介 Servlet是Java Web开发中的一个重要组成部分,它主要用于处理客户端请求并生成动态响应。Servlet技术由Servlet规范定义,Servlet容器(如Tomcat)负责执行...
#### 二、Servlet详解 **Servlet**是Java EE的一个关键技术,它是运行在服务器端的小程序,主要用于处理客户端请求并生成响应。 - **Servlet生命周期:** - 初始化:通过`init()`方法完成; - 请求处理:通过`...
Servlet基础教程 http原理 request, response
### HttpServlet 详解 #### 1. 绪言 本文档主要介绍了Java Servlet API 2.1版本的相关内容,特别关注于`HttpServlet`类及其在实际应用中的作用。`HttpServlet`是Java Servlet API中一个重要的类,它为HTTP协议提供...
### Spring管理Filter与Servlet详解 在现代Web应用开发中,Spring框架因其强大的依赖注入和面向切面编程功能而被广泛采用。特别是在Java EE环境中,如何有效地整合Spring与Servlet、Filter等核心组件,对于构建高...
### Servlet与JSP深入详解:基于Tomcat的Web开发 #### 一、Servlet技术概述 Servlet是一种用Java编写的服务器端应用程序接口(API),它扩展了Java Web开发的功能。Servlet可以响应HTTP请求,并且能够处理复杂的...
2. **Servlet详解**: Servlet是Java EE平台中用于处理HTTP请求的服务器端组件。它通过实现Servlet接口或HttpServlet抽象类来扩展其功能。Servlet生命周期包括加载、初始化、服务、销毁四个阶段,而doGet和doPost...