5-2:servlet中重写doGet和doPost方法并使用Post测试GET、POST请求

5-2:servlet中重写doGet和doPost方法

1. doGet方法

Http用GET方式提交的请求,普通的查询就会进入到此方法。

2. doPost方法

http用POST方式提交的请求就会进入到此方法

3. postman工具

作用:

  • 专门用来模拟Http多种方式提交的工具,开发测试必备利器
  • 提供安装包直接安装使用
  • 选择post方式提交

4. 其他方法

还有其他的方法,像doHead、doDelete等,一样都是根据http提交Method来区分

5. Servlet访问URL路径映射

url-pattern:以 “/” 开头,可以用/xxx/* 来区分模块, * 是通配符,最好用模块区分,方式通配符都映射成功,但会导致不同优先级的问题。


后记

doGet和doPost的小案例

案例一:重写doGet后,postman测试必须使用GET请求测试!

TestServlet.java

package com.cuikaiyang.web;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @author cuikaiyang
 * @version 1.0
 * @data 8/26/22 9:55 PM
 */

public class TestServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        // 设置响应内容
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter printWriter = resp.getWriter();
        printWriter.write("Hello doGet 崔凯洋的网络日志");
    }
}

使用postman的GET方法测试结果如下:
在这里插入图片描述

使用postman的POST方法测试结果如下:
在这里插入图片描述
有关状态码为405,可以参考这篇文章:https://blog.csdn.net/Attsky/article/details/126546161

案例二:分别重写doGet、doPost后,postman测试GET、POST请求测试都可以

TestServlet.java

package com.cuikaiyang.web;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @author cuikaiyang
 * @version 1.0
 * @data 8/26/22 9:55 PM
 */

public class TestServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        // 设置响应内容
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter printWriter = resp.getWriter();
        printWriter.write("Hello doGet 崔凯洋的网络日志");
    }


    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 设置响应内容
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter printWriter = resp.getWriter();
        printWriter.write("Hello doPost 崔凯洋的网络日志");
    }
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>testServlet</servlet-name>
        <servlet-class>com.cuikaiyang.web.TestServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>testServlet</servlet-name>
        <url-pattern>/test/findMe</url-pattern>
    </servlet-mapping>
</web-app>

PostMan分别测试GET 和 POST请求:
在这里插入图片描述
在这里插入图片描述

摘要:本篇文章主要介绍了重写doGet和doPost请求,然后在PostMan里做测试。最重要的是项目要导入Tomcat9安装包lib目录下的servlet-api.jar,然后在自己写的类里面继承HttpServlet并重写doGet和doPost请求。

有关于乱码的问题要设置响应内容类型:

 resp.setContentType("text/html;charset=utf-8");

向页面中写入一段字符串需要借助以下代码:

 PrintWriter printWriter = resp.getWriter();
 printWriter.write("Hello doGet 崔凯洋的网络日志");

熟练的使用快捷键重写-Mac版:control + Enter
在这里插入图片描述

还有要了解web.xml 如何绑定一个请求

<servlet>
        <servlet-name>testServlet</servlet-name>
        <servlet-class>com.cuikaiyang.web.TestServlet</servlet-class>
</servlet>

<servlet-mapping>
        <servlet-name>testServlet</servlet-name>
        <url-pattern>/test/findMe</url-pattern>
</servlet-mapping>

例如上面这段xml,testServlet是servlet的名字可以随便起名字,但是最好要与类相关,绑定该servlet的类路径。
servlet-mapping里写的是浏览器访问/test/findMe时候,将要访问testServlet。

整体的流程就是:
请添加图片描述

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: doGet和doPostServlet两个常用的方法。 doGet方法用于处理HTTP GET请求,通常用于获取数据或页面的显示。在doGet方法,可以通过request对象获取请求参数,通过response对象向客户端发送响应数据。 doPost方法用于处理HTTP POST请求,通常用于提交数据或执行操作。在doPost方法,可以通过request对象获取请求参数,通过response对象向客户端发送响应数据。 在Servlet,通常会根据具体的业务需求选择使用doGet或doPost方法,或者同时使用两个方法。 ### 回答2: 在JavaServlet是用于处理Web请求和响应的Java类。其的doGet和doPostServlet两个常用的方法。 doGet是一个处理HTTP GET请求方法。当浏览器发送一个GET请求Servlet时,Servlet将自动调用doGet方法来处理该请求。通常,doGet方法用于从服务器获取数据,如从数据库获取信息并返回给浏览器显示。在doGet方法,可以通过HttpServletRequest对象获取请求参数,并通过HttpServletResponse对象向浏览器发送响应。 doPost是一个处理HTTP POST请求方法。当浏览器发送一个POST请求Servlet时,Servlet将自动调用doPost方法来处理该请求。通常,doPost方法用于向服务器提交数据,如通过一个表单向数据库插入新的数据。在doPost方法,同样可以通过HttpServletRequest对象获取请求参数,并通过HttpServletResponse对象向浏览器发送响应。 在Servlet,通常情况下我们会根据具体需求选择使用doGet或doPost方法来处理请求。如果我们只是需要获取一些数据,我们可以选择使用doGet方法,因为GET请求在URL会携带请求参数,可以直接从URL获取。而如果我们需要向服务器提交数据,我们可以选择使用doPost方法,因为POST请求的参数是放入请求,相对安全。另外,对于一些特殊情况,我们也可以重写doGet和doPost方法使用相同的业务逻辑处理GET和POST请求。 总之,doGet和doPostServlet用于处理GET和POST请求的两个方法,根据具体需求选择使用。 ### 回答3: 在Servlet,doGet()和doPost()都是用于处理HTTP请求方法。 doGet()方法用于处理GET请求。GET请求是最常见的HTTP请求类型,通常用于获取服务器上的资源。当客户端发送一个GET请求时,Servlet容器会调用doGet()方法来处理该请求。在doGet()方法,可以获取请求参数、处理业务逻辑,并且可以通过HttpServletResponse对象将响应数据返回给客户端。 doPost()方法用于处理POST请求POST请求也是常见的HTTP请求类型,与GET请求不同,POST请求通常用于向服务器提交数据。当客户端发送一个POST请求时,Servlet容器会调用doPost()方法来处理该请求。在doPost()方法,可以通过HttpServletRequest对象获取请求参数、处理业务逻辑,并且可以通过HttpServletResponse对象将响应数据返回给客户端。 在Servlet,doGet()和doPost()方法都是被重写方法,需要在Servlet进行实现。当客户端发送一个HTTP请求时,Servlet容器会根据请求的类型自动调用对应的方法,从而完成请求的处理。 通常情况下,GET方法用于获取资源,而POST方法用于提交数据。在实际应用,可以根据具体的需求选择使用doGet()或者doPost()方法来处理不同类型的请求

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值