在解决Post请求中文是有GBK和UTF-8都不行

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
package com.kai.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;

@WebServlet("/Servletdemo1")
public class Servletdemo1 extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");

        String username =  request.getParameter("username");
        System.out.println(username);
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);

    }


}


运行结果及报错内容
shi回归
shi回归


我的解答思路和尝试过的方法
我想要达到的结果

前端web页面代码是否设置了编码格式为utf-8呢
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>