servlet进行页面跳转后出现乱码

importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletExcept... import java.io.IOException;import java.io.PrintWriter;
import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/login.do")
public class Servlet_1 extends HttpServlet {
@SuppressWarnings("unused")public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter();
String name=req.getParameter("getName");
String password=req.getParameter("getpassword");
req.setCharacterEncoding("GB2312");resp.setContentType("TEXT/GB2312");
if (name.equals("aaa") && password.equals("aaa")) {
req.setAttribute("message", "成功");
req.getRequestDispatcher("index.jsp").forward(req, resp);
} else {
req.setAttribute("message", "失败");
req.getRequestDispatcher("../ZhuCe.html").forward(req, resp);
}
}
}
展开
 我来答
綄媄毐葯
推荐于2017-12-15 · TA获得超过229个赞
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:79.7万
展开全部
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//将字符集设置,放在方法体首位
response.setCharacterEncoding("text/html;UTF-8");
request.setCharacterEncoding("UTF-8");
/*
//如果是单个参数乱码,可用这种方法解决
String sname = request.getParameter("name") ;
String name = new String(sname.getBytes("ISO8859_1"),"UTF-8") ;
*/
}
最好将JSP页面和servlet的字符集设置成一致,这样就不容易出现乱码了,如果楼主的IDE是Eclipce,在源文件上右击,选择Properties,然后在打开的界面当中,就能看到自己默认的编码格式了,建议楼主都改成UTF-8,如果以上操作还不能解决问题,那就用过滤器吧,简单又方便!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hlbl7
2012-10-19
知道答主
回答量:29
采纳率:0%
帮助的人:15万
展开全部
你response的时候字符集有问题
改成resp.setContentType("text/html;charset=GB2312");这样就可以了。

还有req.setCharacterEncoding("GB2312")应该放在输出流之前(输出之前需要设置字符集)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-10-19
展开全部
在servlet中写
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
刚做完一个系统,各种乱码问题,最终都解决了,有问题继续问啊,不求分数,只求交流
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lengjianxu
2012-10-19
知道答主
回答量:45
采纳率:0%
帮助的人:20.7万
展开全部
response.setCharacterEncoding("text/html;UTF-8");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式