小弟今天尝试使用myeclips2016写了第一个servlet程序:小弟tomcat用的是7.0:代码如下:
public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.write("this is a move 就是这个 !!!");
}
}
部署文件 web.xml是自动生成的:
<?xml version="1.0" encoding="UTF-8"?>
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
HelloServlet
web_test.HelloServlet
HelloServlet
/hello
可是显示的是这个:this is a move ???? !!!
中文没有显示出来貌似也不是乱码!
我想应该是解码器的问题,于是改了web.xml的UTF-8为GBK ,可是运行之后依旧乱码,后来尝试修改myeclips的编码器 还是不行,是不是myeclips在这个上面要自己设置什么东西呢?求指教!
你这个问题属于从web后台传递到页面前台发生的乱码问题,初步观察你需要做如下设置:
1、首先设置响应的编码格式:response.setContentType("text/html;charset=utf-8");
2、如果依然乱码的话,在思考一下,由于相应依然要经过Tomcat发送到客户端,所以也需要将Tomcat的编码格式设置一下
相信经过上述两个设置基本可以解决大部分乱码问题,起始乱码不可怕,关键是要分析好是在数据传递的过程中,编码格式是否统一