急了,为什么在Tomcat5.0.16中还是显示乱码?
程序应该是没有问题了,为什么还是显示乱码?
但在Tomcat4.0没有这个情况。
//////html 文件/////
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!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=gb2312">
<title>JSP-Servlet测试</title>
</head>
<body>
<form name="form1" method="get" action="/test/servlet/TestServlet">
<p>这是一个JSP和Servlet的测试</p>
<p><br>请输入你的名字:<input type="text" name="name"></p>
<p><br>请输入你的电子邮件:<input type="text" name="email"></p>
<p><input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</p>
</form>
</body>
</html>
/////////TestServlet.java///////
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TestServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html;charset=GBK";
public void init() throws ServletException {
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("GBK");/////
response.setContentType(CONTENT_TYPE);///
PrintWriter out = response.getWriter();
String na=request.getParameter("name");
String em=request.getParameter("email");
out.println("<html>");
out.println("<head><title>HelloServlet</title></head>");
out.println("<body bgcolor=\"#ff0000\">");
out.println("<center>");
out.println("<p>Hello,You come from:"+request.getRemoteAddr()+"</p>");
out.println("<p>You come from:"+request.getRemoteHost()+"<p>");
out.println("<p>You are Name:"+request.getServerName()+"<p>");
out.println("<p>你的端口:"+request.getServerPort()+"<p>");
out.println("<p>你的姓名:"+na);
out.println("<p>你的电子邮件地址:"+em);
out.println("<center>");
out.println("</body></html>");
}
public void destroy() {
}
}