Servlet--HttpServlet实现doGet和doPost请求的原理

转自:https://blog.csdn.net/m0_38039437/article/details/75264012

一、HttpServlet简介

1、HttpServlet是GenericServlet的子类,又是在GenericServlet的基础上做了增强。

 2、HttpServlet方法

 

 

二、HTTP实现doGet或doPost请求项目介绍

1、通过实现doGet请求和doPost请求实例来了解内部的工作原理。

2、doGet请求和doPost请求实例代码介绍:

A:创建一个Servlet类继承HttpServlet类

B:在index.jsp页面创建一个超链接请求

3、doGet请求和doPost请求实例实施介绍:

 

A、创建一个webproject项目。

 

 

 

B、创建一个Servlet类的名称为HttpServ继承HttpServlet类同时覆写doGet方法和doPost方法。

1、

 

2、

 

3、配置web.xml文件

4、创建Servlet代码展示

     

package httpserve;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class HttpServ extends HttpServlet {
 
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        System.out.println("发送get请求。。。。。。。。。。。");
        
    }
 
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        resp.setContentType("text/html;charset=UTF-8");
        System.out.println("发送post方法。。。。。。。。。。");
    }
 
}
 

 

 

5、web.xml配置文件代码展示

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>HttpServ</servlet-name>
    <servlet-class>httpserve.HttpServ</servlet-class>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>HttpServ</servlet-name>
    <url-pattern>/http</url-pattern>
  </servlet-mapping>
 
</web-app>
 

 

 

 

 

C、在index.jsp页面创建一个超链接请求

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
  
  <body>
    This is my JSP page. <br>
    <a href="http://localhost:8080/test06/http">get请求1</a><br/>
    <!-- 对于一个html页面来说,如果没有以http开始,则默认的前面会加上
        协议类型://目前这个页面所在的服务器:目前端口/目前项目/你给的这个名称 -->
    <a href="http">get请求2</a><hr/>
    <form method = "post" action="http">
        <input type="submit" value="提交"/>
    </form>
  </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: HttpServlet类是Java Servlet API中的一个类,它提供了处理HTTP请求方法。其中,doGet()和doPost()是两个最常用的方法。 doGet()方法用于处理HTTP GET请求,它通常用于获取数据或者显示页面。当客户端发送一个HTTP GET请求时,Servlet容器会调用doGet()方法来处理请求。 doPost()方法用于处理HTTP POST请求,它通常用于提交数据或者执行一些操作。当客户端发送一个HTTP POST请求时,Servlet容器会调用doPost()方法来处理请求。 需要注意的是,doGet()和doPost()方法都需要重写,以实现自定义的处理逻辑。在重写这两个方法时,需要根据具体的业务需求来实现相应的功能。 ### 回答2: HttpServlet是Java Servlet API中的一个类,用于处理客户端的HTTP请求和响应。在HttpServlet中,doGet和doPost是两个最基本和经常被使用的方法。 doGet方法是处理HTTP的GET请求,即获取数据。这个方法通常被用来从服务器获取一些信息并返回给客户端。当Web浏览器请求一个网页时,就会发起一个GET请求,服务器则会根据这个请求返回相应的内容。使用doGet方法实现该功能非常简单。 doPost方法是处理HTTPPOST请求,即提交数据。这个方法通常被用来接受客户端提交的一些数据,并对这些数据进行处理并返回结果。当用户在Web页面上提交表单时,就会发起一个POST请求,服务器则会根据这个请求对表单中的数据进行处理。使用doPost方法实现该功能也是非常简单的。 在有些情况下,使用doGet和doPost是不够的。例如,当一个Web应用程序需要处理HTTP的PUT或DELETE请求时,就不能使用doGet和doPost方法了。这时,我们需要使用其他的方法完成对客户端的响应。 总的来说,doGet和doPost方法是Java Servlet API中最基本和常用的两个方法之一。它们的主要区别是doGet方法用于获取数据,而doPost方法用于提交数据。虽然在某些情况下,我们需要使用其他的方法完成特别的需求,但在大多数情况下,我们都可以使用doGet和doPost方法实现Web应用程序的主要功能。 ### 回答3: Servlet 是用来处理 Web 请求的 Java 程序。HTTPServlet 是 javax.servlet.http 包中的一个类,是 Servlet 的一个子类,它提供了基于 HTTP 请求的 Web 服务。HTTP 请求可以通过 GET 和 POST 两种方法提交,通常用于查询和提交数据。在 HTTPServlet 中,doGet() 和 doPost() 方法用来处理这两种请求,它们的主要区别在于提交的数据量和提交方式。 doGet() 方法用于处理 GET 请求,即通过浏览器地址栏输入 URL 或者通过链接访问服务器时,服务器返回请求的资源。GET 请求提交的数据通常是在 URL 的参数部分追加一个字符串,为键值对的形式,可以在服务器端进行解析。例如: http://localhost:8080/TestServlet?username=admin&password=123456 在这个例子中,“?” 后面的内容就是 GET 请求提交的数据,可以通过 HttpServletRequest 对象的 getParameter() 方法获取到每一个参数的值。 而 doPost() 方法用于处理 POST 请求,它通常用于提交表单和上传文件等需要提交大量数据的场景。POST 请求把数据存储在请求头部,数据量比 GET 请求大。在 doPost() 中,可以通过 HttpServletRequest 对象的 getInputStream() 和 getReader() 方法获取请求的数据,然后对数据进行解析。 总的来说,它们的区别主要在于请求的提交方式和数据量大小。GET 请求通常用于查询和获取静态资源,而 POST 请求则适合用于提交大量数据和实现用户互动。在实际开发中,可以根据不同的应用场景选择适合的方式来处理请求,提高服务器的性能和用户体验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值