HTML文件在TOMCAT服务器上打开显示乱码
陈大能 2005-07-26 10:22:14 请问高手:
我在学习servlet!
我的servlet(nameServlet.java)代码如下:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class nameServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws
IOException,ServletException
{
response.setContentType("text/html;charset=GBK");
request.setCharacterEncoding("ISO8859-1");
String name1=request.getParameter("name");
byte[] temp3=name1.getBytes("GBK");
String str=new String(name1);
request.setCharacterEncoding("GBK");
PrintWriter out=response.getWriter();
out.println("<html>");
out.println("<head><title>HelloWorldServlet</title></head>");
out.println("<body>");
out.println("欢迎你,"+str+"!");
out.println("<p>你提交的表单已经被DOGET()方法处理!");
out.println("</body>");
out.println("</html>");
}
}
然后我建了nameinput.HTML文件,代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>使用 Get 方法</title>
</head>
<body>
<form ACTION="nameServlet" METHOD="GET">
姓名:<INPUT TYPE="text" NAME="name">
<P>
<INPUT TYPE="submit" NAME="submit" VALUE="提交">
<INPUT TYPE="reset" NAME="reset" VALUE="重置">
</form>
</body>
</html>
然后我将此HTML文件放在/tomcat/webapps/test2目录下,然后在浏览器中输入http://localhost:8080/test2/nameinput.html 打开
奇怪的是在此打开后网页(nameinput.html)上的应该显示的中文:姓名,提交,重置,都是乱码!!!
在文本框中输入中文,调用nameServlet后的中文也是可以正常显示的,
直接双击打开nameinput.html时也能正常显示!
本人被此问题搞晕了,请教各位高手帮忙!谢谢