Servlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类.在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类.
Servlet的框架的核心是javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口.在Servlet接口中定义了5个方法,其中有3个方法代表了Servlet的声明周期:
init方法,负责初始化Servlet对象
service方法,负责相应客户的请求
destory方法,当Servlet对象退出声明周期时,负责释放占有的资源
Servlet被设计成请求驱动的.Servlet的请求可能包含多个数据项,当Web容器接收到某个Servlet请求时,Servlet把请求封装成一个HttpServletRequest对象,然后把对象传给Servlet的对应的服务方法.
HTTP的请求方式包括DELETE,GET,OPTIONS,POST,PUT和TRACE,在HttpServlet类中分别提供了相应的服务方法,它们是,doDelete(),doGet(),doOptions(),doPost(), doPut()和doTrace().
--------------------------------------------------------------------
下面介绍HTTP请求和响应,一个HTTP请求包含请求方法,请求URL,头字段和请求体.HTTP1.1定义了下面的请求方法:
1. GET :获取由请求URL标识的资源
2. POST :向Web服务器发送无限制长度的数据
3. PUT :存储一个资源到请求的URL
4. DELETE :删除由URL标识的资源
5. HEAD :返回URL标识的头信息
6. OPTIONS :返回服务器支持的HTTP方法
7. TRACE :返回TRACE请求附带的头字段
HTTP响应包括响应码,头字段和响应体.HTTP协议要求响应码和所有的头字段都在任何响应体之前返回.
--------------------------------------------------------------------
下面就对Servlet各个服务方法做以介绍.
1. doGet() :调用服务器的资源,并将其作为响应返回给客户端.doGet()调用在URL力显示正在传送给Servlet的数据,这在系统的安全方面可能带来一些问题,比如说,用户登录市,表单里的用户名和密码需要发送到服务器端,doGet()调用会在浏览器的URL里显示用户名和密码.
2. doPost() :它用于把客户端的数据传给服务端,使用它可以隐藏方式给服务器端发送数据.Post适合发送大量数据.
3. doPut() :调用和Post相似,它允许客户端把真正的文件存放在服务器上,而不仅仅是传送数据.
4. doDelete() :它允许客户端删除服务器端的文件或者Web页面.它的使用也非常少.
5. doHead() :它用于处理客户端的Head调用,并且返回一个response.当客户端只需要直到响应的Header时,它就发出一个Header请求.这种情况下客户端往往关心响应的长度和响应的MIME类型.
6. doOptions():它用于处理客户端的Options调用,通过这个调用,客户端可以获得此Servlet支持的方法.如果Servlet覆盖了doPost()方法,那么将返回:
Allow:POST,TRACE,OPTIONS,HEAD
一般情况下不需要覆盖这个方法.
相关推荐
### HttpServlet 详解 #### 1. 绪言 本文档主要介绍了Java Servlet API 2.1版本的相关内容,特别关注于`HttpServlet`类及其在实际应用中的作用。`HttpServlet`是Java Servlet API中一个重要的类,它为HTTP协议提供...
1.9 HttpServlet详解 1.10 Ant使用入门 1.11 Maven Ant之间的比较 1.12 详解MANIFEST.MF文件 1.13 Maven入门--概念与实例 1.14 Subversion 1.15 jar war ear区别 1.16 如何在Eclipse中调试JBoss应用 1.17 ...
二、HttpServlet详解 1. HttpServlet生命周期:Servlet的生命周期包括加载、初始化、服务、销毁四个阶段。当服务器启动或第一次接收到对Servlet的请求时,Servlet会被加载和初始化。然后在后续的请求中,Servlet会...
6. **HttpServlet详解**:`HttpServlet`位于`javax.servlet.http`包中,是一个抽象类,它扩展了`GenericServlet`,但并非要求子类重写`service()`方法,而是通常重写`doGet()`或`doPost()`,所以d) `HttpServlet 类...
#### 四、HTTPServlet详解 `HttpServlet`类是`javax.servlet.http`包中的一个抽象类,它为HTTP请求提供了一个默认的服务实现。在实际开发中,通常会继承`HttpServlet`类来实现自己的Servlet,并覆盖`doGet()`和`...
【HttpServlet实现详解】 在Java Web开发中,HttpServlet是一个重要的组成部分,它是Java Servlet API的一部分,主要用于处理HTTP协议的请求。下面将详细讲解HttpServlet、Servlet的生命周期以及它们与Tomcat服务器...
在开发Java Web应用程序时,你可能会遇到一个常见的错误:“HttpServlet cannot be resolved to a type”。这个错误通常发生在尝试使用`HttpServlet`类时,而Eclipse IDE无法找到对应的类定义。`HttpServlet`是Java ...
读者将学习到如何编写Servlet,理解Servlet生命周期,并掌握Servlet API的关键类和接口,如`HttpServlet`和`ServletConfig`。 此外,JavaServer Pages(JSP)是另一种重要的Web开发技术,它允许开发者将HTML代码与...
Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。Web 应用程序开发人员通常编写 Servlet 来扩展 javax.servlet.http.HttpServlet,并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求。
### commons-fileupload详解 #### 一、概述 `commons-fileupload`是Apache Commons项目下的一个子项目,主要用于处理HTTP请求中的文件上传。该组件提供了一种简单高效的方式来处理客户端发送的`multipart/form-...
"Java 文件上传的实例详解" Java 文件上传是指在 Java 应用程序中实现文件上传功能的过程。文件上传是 Web 应用程序中非常常见的功能,例如上传头像、上传附件、上传图片等。Java 文件上传可以使用多种方法实现,...
### Servlet详解 #### 1. Servlet工作原理 Servlet是一种服务器端的小程序,主要用来处理HTTP请求并返回HTTP响应。Servlet由Servlet容器(如Tomcat、Jetty等)管理其生命周期,这种容器通常作为Web服务器的一部分...
通过实现`javax.servlet.Servlet`接口或继承`javax.servlet.GenericServlet`或`javax.servlet.http.HttpServlet`抽象类,我们可以创建自己的Servlet。 **JSP基础** JSP(JavaServer Pages)是一种视图技术,它将...
ServletAPI详解 Servlet技术是JavaWeb开发中的基石,它提供了处理客户端请求并返回响应的核心机制。Servlet主要功能包括动态生成HTML文档、转发请求到其他Servlet、读取和写入Cookie,以及访问各种服务器资源,如...
- 在后台,创建一个Servlet继承自`HttpServlet`,重写`doPost()`方法。 - 在`doPost()`方法中,使用FileUpload库解析请求。 - 检查上传文件的大小和类型,如果符合要求,将文件保存到服务器。 6. **示例代码注释...
Servlet、Filter、Listener 详解 Servlet 是运行在服务器上的小程序,它可以使任何 Java 应用程序、浏览器或任何设备。Servlet 的客户端可以提出请求并获得该请求的响应。Servlet 在初始化后即驻留内存中,因此每次...
Spring MVC 配置详解 Spring MVC 是一个基于 DispatcherServlet 的 MVC 框架,它是当前主流的 Web 框架之一。要想灵活运用 Spring MVC 来应对大多数的 Web 开发,就必须要掌握它的配置及原理。 一、Spring MVC ...
1. **编写Servlet**:创建Servlet类,实现Servlet接口或继承HttpServlet抽象类,重写doGet/doPost方法。 2. **配置Servlet**:在web.xml文件中定义Servlet,指定URL映射和初始化参数。 3. **处理请求**:Servlet接收...
### Java文件上传详解 在Java Web开发中,文件上传是一个常见的需求,特别是在处理用户上传图片、文档等场景时。本文将深入探讨如何使用Java实现文件上传功能,包括使用`commons-fileupload`和`commons-io`库的具体...
通过实现Servlet接口或继承HttpServlet类,我们可以编写代码来响应HTTP请求。 HTTP协议定义了多种请求方法,如GET、POST、PUT、DELETE等。在Java Web中,这些方法对应于Servlet的doGet、doPost等方法。GET方法通常...