一个html文件表单传输数据到一个java Servlet文件,中文怎么取得的是乱码?

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/l... <!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=gbk">
<title>Insert title here</title>
</head>
<body>
<form action=HelloWorld method="post">
name:<input type=text name="username" /><br/>
password:<input type=password name="password"/><br/>
<input type=submit value="submit"/>
</form>

</body></html>

//HelloWorld.java
package com.bjsxt;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorld extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet.....");

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doPost....");
PrintWriter out=response.getWriter();
out.println("<html><head><title></title></head><body>Hello World!</body></html>");
String str1= request.getParameter("password");
out.println(str1);
String str2=request.getParameter("username");
str2=new String(str2.getBytes("iso-8859-1"),"gbk");
out.println(str2);
}
}
展开
 我来答
qinghua2900
2012-12-28
知道答主
回答量:13
采纳率:0%
帮助的人:7.2万
展开全部
在你的tomcat路径下,参考我的:D:\Tomcat 6.0\conf\server.xml
添加:URIEncoding ="UTF-8" 完整如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding ="UTF-8"/>
逃跑的玻璃球子7730
2012-12-28 · TA获得超过129个赞
知道答主
回答量:240
采纳率:0%
帮助的人:74.2万
展开全部
tomcat, server.xml 端口配置地方 加个URIEncoding="UTF-8"

页面和servlet全改成UTF-8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者AHLhc224hw
2012-12-28 · TA获得超过947个赞
知道小有建树答主
回答量:751
采纳率:0%
帮助的人:315万
展开全部
在doPost方法最前添加request.setCharacterEncoding("gbk")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ccc11111cc
2012-12-28
知道答主
回答量:15
采纳率:0%
帮助的人:4.8万
展开全部
Java的默认编码是UTF-8,你要将编码格式转化一下,,request.setCharacterEncoding("gbk");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一起渔职场
2012-12-28 · TA获得超过208个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:118万
展开全部
看你tomcat的编码设置了木有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Soul_魂_
2012-12-29
知道答主
回答量:12
采纳率:0%
帮助的人:1.8万
展开全部
在servletPrintWriter out=response.getWriter();前加上
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式