java-Servlet编码/异常处理

1. Servlet输出中文
(1)为什么会有乱码?
out.println方法在输出时或者表单提交的时候,浏览器会对表单中的中文参数值进行编码;
注:会使用表单所在的页面打开时使用的编码方式进行编码服务器端默认会使用ISO-8859-1进行解码所以会产生乱码
(2)如何解决?
1)post请求:requset.setcharcterencoding(string charset);添加到所有获取参数前并且该方法只支持post方法
2)get请求:修改服务器设置
2.读取请求参数值
(1)String request.getParameter(String paramName)
a. 如果请求参数名写错,会获得null值。
b. 对于表单(文本输入框),如果什么都不填写,会获得""。
(2)String[] request.getParameterValues(String paramName)
a.当有多个请求参数名相同时,应该用该方法。
b.对于多选框,如果一个都不选择,会获得null值。

设置输出编码方式arg1.setContentType("text/html;charset=utf-8");
作用1)设置返回给浏览器的数据(mime)类型;告诉服务器返回的数据类型和编码
2)设置out.print方法输出时使用什么字符集编码

异常处理:step1.记日志(保留现场)
step2.查看异常是否能够立即恢复,如果不能够恢复(比如数据库服务停止,网络中断,这样的异常我们可以称之为系统异常),提示用户稍后重试(我们要用一个运维祭天),如果能够恢复时立即恢复.

posted @ 2017-10-16 21:20  Einsam  阅读(289)  评论(0编辑  收藏  举报