关于JSP中在url中传递中文参数乱码的问题

今天在做JSP练习时,想把提示信息,重新定向到原有页面。传递过程中,使用了中文参数值,到重定向的时,发现中文全乱码了,刚开始,还以为是页面的接收的问题。细看,发现url中的get参数,本身就有问题。然后查资料核实,发现重定向时,必须对中文进行编码转换。转换如下:

<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
        String username=request.getParameter("username");
	String password=request.getParameter("password");
	String error_info;
	String encode_info;
	if(!username.equals("tt001")){
                //出于安全,一般在开发中都使用模糊提示
		error_info="用户名或密码错误";
                //重定向和编码转换核心代码
		encode_info=URLEncoder.encode(error_info,"UTF-8");
		response.sendRedirect("/login.jsp?message="+encode_info);
		return;
	}
	if(!password.equals("test123")) {
		error_info="用户名或密码错误";
		encode_info=URLEncoder.encode(error_info,"UTF-8");
		response.sendRedirect("/login.jsp?message="+encode_info);
		return;
	}
	out.println("登录成功");

%>

 

你可能感兴趣的:(Java技术分析,实验操作)