responsejava
A. java中如何用response编写一个刷新页面,实现每两秒钟刷新一次
<%@ page language="java" contentType="text/html;charset=gb2312" import="java.util.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<%
response.addIntHeader("Refresh",2);
%>
<h4>2秒刷新一次</h4>
</body>
</html>
B. JavaWeb response使用中造成的中文乱码问题解决
当使用JavaWeb中的response.getWriter().write()方法向浏览器写入中文数据时,可能会出现中文乱码问题。原因在于response缓冲区默认使用ISO8859-1编码,不支持中文,导致中文信息无法被正确识别。为解决此问题,应采用UTF-8编码。
首先,需更改缓冲区编码为UTF-8。尝试向页面写入中文数据测试。
尽管缓冲区设置为UTF-8编码,但问题并未解决。原因是浏览器默认解析数据时使用的是GB2312编码,而非UTF-8,显示中文乱码。通过Eclipse查看浏览器默认编码,发现其为GB2312。
若将浏览器默认编码更改为UTF-8,问题得到解决。光设置缓冲区编码方式是不够的。
其次,需设置浏览器接收内容时的编码方式为UTF-8。再次尝试写入中文数据测试。
此时,中文显示正常,问题完美解决。
总结注意事项:
1. 设置浏览器编码方式后,缓冲区编码会自动调整,只需设置浏览器编码。
2. 设置编码必须在响应体内容写入之前进行。