0


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

packagecom.cuikaiyang.web;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;importjava.io.PrintWriter;/**
 * @author cuikaiyang
 * @version 1.0
 * @data 8/26/22 9:55 PM
 */publicclassTestServletextendsHttpServlet{@OverrideprotectedvoiddoGet(HttpServletRequest req,HttpServletResponse resp)throwsServletException,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-appxmlns="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。

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

标签: servlet java postman

本文转载自: https://blog.csdn.net/Attsky/article/details/126551841
版权归原作者 崔凯洋 所有, 如有侵权,请联系我们删除。

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

还没有评论