sevlet代码尽量在浏览器运行,eclipse内部不稳定
响应乱码
原因:浏览器不知道数据的类型及编码格式
解决:告诉浏览器内容类型及编码格式
方式一:在第一次操作response之前,设置好内容类型和字符编码
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
方式二:直接设置响应头
response.addHeader("ContentType","text/html;charset=utf-8);
方式三:设置Content-type字段的值
response.setContentType("text/html;charset=utf-8");
当在表单中填写中文时获取到的是乱码
post乱码
原因:浏览器将数据编码并提交上来,但服务器并不知道编码规则
解决:让服务器知道编码规则,重新设置请求的编码格式、
request.setCharacterEncoding("utf-8");
get乱码
原因:浏览器将地址栏也编码,服务器不知道,而且8080端口接收到url以后,已经按照默认的解码方式解码了,
所以request.setCharacterEncoding("utf-8");没用了
解决方法:修改tomcat的server,xml配置文件,在8080端口配置处添加URIEncoding="utf-8"
其余错误
可以删除doGet方法的
response.getWriter().append("Served at: ").append(request.getContextPath());