WEBLOGIC6.0 sp2下SERVLET 的中文问题
文艺青年2 2002-05-13 03:51:41 我通过两种方式运行该SERVLET,
1、一种方式是从一个HTML页POST进入,执行DOPOST方法,中文参数显示正常
2、一种方式是在IE地址栏中直接输入http://127.0.0.1:7001/survey?survey=测试,然后回车,执行doGet方法,结果显示SURVEY NAME = ????
怎么办?以下是源代码
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class survey extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html;charset=gb2312");
String survey_val = req.getParameterValues("survey")[0];
survey_val = new String(survey_val.getBytes("ISO8859-1"),"GB2312");
PrintWriter toClient = res.getWriter();
// 向浏览器页面上写数据
toClient.println("<p style=color:red>GET 方法进入该页<p>");
toClient.println("<br>页面传入参数: SURVEY NAME = " + survey_val);
}
public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
{
PrintWriter out = res.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=GB2312\" >");
out.println("</head>");
out.println("<body>");
out.println("POST 方法进入该页");
String username = req.getParameterValues("username")[0];
out.println("<br>中文参数:" + username);
out.println("</body>");
out.println("</html>");
}
}