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);
}
}
} 展开
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);
}
}
} 展开
4个回答
展开全部
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,如果以上操作还不能解决问题,那就用过滤器吧,简单又方便!
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,如果以上操作还不能解决问题,那就用过滤器吧,简单又方便!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你response的时候字符集有问题
改成resp.setContentType("text/html;charset=GB2312");这样就可以了。
还有req.setCharacterEncoding("GB2312")应该放在输出流之前(输出之前需要设置字符集)。
改成resp.setContentType("text/html;charset=GB2312");这样就可以了。
还有req.setCharacterEncoding("GB2312")应该放在输出流之前(输出之前需要设置字符集)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-10-19
展开全部
在servlet中写
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
刚做完一个系统,各种乱码问题,最终都解决了,有问题继续问啊,不求分数,只求交流
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
刚做完一个系统,各种乱码问题,最终都解决了,有问题继续问啊,不求分数,只求交流
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
response.setCharacterEncoding("text/html;UTF-8");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询