解决的方法很简单,就是在Servlet中的doPost方法中加上:
response.setContentType("text/html");
response.setCharacterEncoding("utf-8"); //或者使用gbk编码
就可以实现向客户端响应时字符的编码的正确性,即解决中文乱码问题。
我在实现删除用户时写的一个Servlet中遇到这个问题。本来已经加上上面两句了,但是再次出现乱码,让我有些焦虑。结果发现,不知道什么时候获取版本覆盖了自己修改后的内容,导致出现了这个问题。
我就在考虑我的过滤器是否没有起到作用。
虚惊一场,哈哈。
例如,Servlet中doPost方法内容如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String id = request.getParameter("id");
String ops = request.getParameter("ops");
String curPResCn = request.getParameter("curPResCn");
String page = request.getParameter("page");
Student stu = new Student();
stu.setUserid(id);
Result res = new Result();
res.setUserid(id);
Dir dir = new Dir();
List rlist = ResultDao.searchResult(res, dir, stu);
Iterator it = rlist.iterator();
while(it.hasNext()){
Result res1 = (Result)it.next();
Dir dir1 = new Dir();
dir1.setDirid(res1.getDirid());
ResultDao.deleteResult(res1, dir1, stu);
}
boolean bool = StudentDao.deleteStu(stu);
if(bool){
if(ops.equals("delGrant")){
if(curPResCn.equals("1")){
if(page.equals("1")){
out.print("<script language='javascript'>alert('删除成功!');location.href('../admin/listGrantStu.jsp?id=&name=');</script>");
}
else{
out.print("<script language='javascript'>location.href('../admin/listGrantStu.jsp?id=&name=&page="+(Integer.parseInt(page)-1)+"');</script>");
}
}
else{
out.print("<script language='javascript'>location.href('../admin/listGrantStu.jsp?id=&name=&page="+page+"');</script>");
}
}
if(ops.equals("delGraduate")){
if(curPResCn.equals("1")){
if(page.equals("1")){
out.print("<script language='javascript'>alert('删除成功!');location.href('../admin/listGraduateStu.jsp?id=&name=');</script>");
}
else{
out.print("<script language='javascript'>location.href('../admin/listGraduateStu.jsp?id=&name=&page="+(Integer.parseInt(page)-1)+"');</script>");
}
}
else{
out.print("<script language='javascript'>location.href('../admin/listGraduateStu.jsp?id=&name=&page="+page+"');</script>");
}
}
}
}
这里是一个实现删除用户记录的Servlet,删除成功则返回提示信息。
alert('删除成功!');这里涉及到了中文,如果在Servlet中没有下面两句代码:
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
在JSP页面上的提示信息就是乱码。
分享到:
相关推荐
servlet输出JS乱码问题
jsp传参 servlet接收中文乱码问题的解决方法.docx
解决jsp+servlet开发中的中文乱码问题
彻底解决Servlet及jsp解决中文乱码问题
JSP_利用Filter解决Servlet输出中文乱码的问题.docx
解决servlet页面乱码问题,对于初学者还是有帮助的
servlet与jsp中文乱码处理,详细介绍多种乱码处理方法,包括使用过滤器的方法
Jsp和Servlet中文乱码问题
在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题。 2. 绝对路径概念 相对于...
讲述javaweb开发中的jsp乱码问题 get、post的区别 http协议的图解
java输出中文乱码问题^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Servlet + Tomcat 中文乱码的解决方法,浏览器把Unicode字符转换为GBK字符,这样页面的内容和浏览器的显示模式都设成了GBK,就不会乱码了
本文档详细地介绍了如何解决MySql数据库中的中文乱码问题,此问题的解决将极大地帮助基于MySql的PHP编程、JSP编程、Servlet编程及C#或.Net编程!测试过的开发平台包括 Netbeans和Eclipse。测试过的服务器包括Apache、...
jsp简单语法,servlet,JSP概述,JSP页面构成,注释,指令,脚本元素,动作元素,错误处理
jsp网页通过ajax传递json数据到java的servlet中,servlet处理数据后回传json数据到jsp页面
NULL 博文链接:https://fen9ye.iteye.com/blog/1149039
jsp+servlet+mysql乱码解决的 累积各路方法 最终终成正果
下面小编就为大家带来一篇jsp传参 servlet接收中文乱码问题的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JSP Servlet 汉字编码问题 乱码解决方法
jspservlet取参数乱码问题分析jspservlet取参数乱码问题分析jspservlet取参数乱码问题分析jspservlet取参数乱码问题分析jspservlet取参数乱码问题分析