1.找到tomcat目录下的conf文件夹下的server.xml文件,找到contactor 标签添加一条代码如下
URLEncoding="utf-8"
2.第二种方法,打开该项目下的tomcat中的server.xml 如图所示
加上一行useBodyEncodingForURI="true"
改好之后一定要重启tomcat服务器
运行效果
完整代码
reg.jsp
<a href="request.jsp?username=李斯">测试URL传参数</a>
request.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>request内置对象</title>
</head>
<body>
<h1>request内置对象</h1>
<%
request.setCharacterEncoding("utf-8");//解决中文乱码问题,无法解决URL传递中文出现的乱码问题
request.setAttribute("password", "123456");
%>
用户名:<%=request.getParameter("username") %><br>
爱好:<%
if(request.getParameterValues("favorite")!=null){
String[] favorites = request.getParameterValues("favorite");
for(int i=0;i<favorites.length;i++){
out.println(favorites[i]+" ");
}
}
%>
密码:<%=request.getAttribute("password") %><br>
请求体的MIME类型:<%=request.getContentType() %><br>
协议类型及版本号<%=request.getProtocol() %><br>
服务器主机名<%=request.getServerName() %><br>
服务器端口<%=request.getServerPort() %><br>
请求文件长度<%=request.getContentLength() %><br>
请求客户端的IP地址<%=request.getRemoteAddr() %><br>
请求的真是路径<%=request.getRealPath("reques.jsp") %><br>
请求的上下文路径<%=request.getContextPath() %><br>
<%
out.println("<h2>将进酒</h2>");
out.println("将进酒,杯莫停<br>");
out.flush();
out.println("今日听君歌一曲,与尔同销万古愁<br>");
out.println("人生得意须尽欢,莫使金樽空对月<br>");
%>
缓冲区大小 : <%=out.getBufferSize() %>byte<br>
缓冲区剩余大小: <%=out.getRemaining() %>byte<br>
是否自动清空缓冲区: <%=out.isAutoFlush()%><br>
</body>
</html>