在一个servlet中同时使用getWiter()和请求转发,最后页面了乱码

在一个servlet中,使用response.getWrite().write("响应一句话");然后再response.getRequestDispatcher("/login.html").forward(request,response);
结果响应的login.html页面乱码了!
在此过程中,页面是UTF-8编码的,也写了response.setContentType("utf-8")。
以上问题中的两者一般都是不会一起用的,本问题就是想了解一下,为什么,请求大神不吝赐教,谢谢。
问题尝试:把response.getWrite().write("响应一句话");删了,页面才不乱码
`
package com.it.controller;

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("/shibaiServlet")
public class ShibaiServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
response.getWriter().write("登录失败,用户名或密码错误!");
request.getRequestDispatcher("/login.html").forward(request,response);
// response.setHeader("Refresh","3;URL=/app-loging/login.html");

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    this.doPost(request,response);
}

}
`

img

img

img

关于Servlet请求转发到html界面中文乱码问题_itjiangpo的博客-CSDN博客_请求转发的页面乱码 Servlet请求转发(requst.getRequestDispatcher("url").forward(req,resp);)到html界面出现浏览器前台数据乱码。。。emmm。。真让人头大。。。然后把请求转发到jsp界面毫无任何问题。。。哈???我裂开了!!!仔细想一哈,这肯定跟浏览器或者是html文件的编码格式有关。。。搞了大半天。。。修改了后台的request和response相应... https://blog.csdn.net/qq_26164609/article/details/102826376?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-blog-2~default~OPENSEARCH~default-4.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-blog-2~default~OPENSEARCH~default-4.pc_feed_download_top3ask

在Servlet的get或post方法中使用response.setCharacterEncoding("UTF-8");

response有不同的相应格式,你只是设置字符集为utf-8,相应页面的格式并没有设置,html的还是附件的还是其他的,