forward到html乱码,servlet中通过request.getRequestDispatcher.forward跳转到html页面乱码问题...

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(name = "LoginServlet",urlPatterns = "/login")

public class LoginServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset");

//        response.setCharacterEncoding("utf-8");

String username = request.getParameter("username");

String password = request.getParameter("password");

if ("admin".equals(username)&&"123".equals(password)){

// 重定向写法,无乱码

//            response.sendRedirect("login_success.html");

// 请求转发的写法,中文乱码。

// 将aa.html charset修改为GBK 乱码解除

request.getRequestDispatcher("aa.html").forward(request,response);

}else {

// 登录失败

}

}

}

idea编译器,选择转发到一个带有中文的html页面。发现html页面中中文部分乱码,将html的charset=gbk, 选择转发后的页面中文是正常的没有乱码。

以上代码测试一直是乱码,不知道是怎么回事,看了一晚没理清其中编码到底是怎么转换的。  以 html中,中文部分“登陆成功”  ,乱码后在页面上变成  6个乱码字节。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值