request请求编码处理
request⽤来获取浏览器的请求信息,请求的⽅式分为get请求和post请求。
get请求会把参数显⽰到地址栏(超链接或通过地址栏直接请求),post请求⽤来提交表单。
get请求的参数在url之后,post请求的参数在请求体中
如果请求的参数含有中⽂,需要对其请求进⾏编码进⾏设置
post:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");//处理post请求的编码,只对post请求有效
String name = Parameter("username");
System.out.println(name);
}字符串转数组编码方式
get:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/**
* 页⾯请求的编码是utf-8,request获取请求的参数默认使⽤iso-8859-1编码,所以会乱码
*/
String id = Parameter("id");
byte[] bytes = id.getBytes("ISO-8859-1");//把得到的id解码,得到原来的utf-8字节数组
id = new String(bytes, "UTF-8");//再对这个utf-8数组进⾏⼆次编码
System.out.println(id);
}
resuest请求编码由响应这个页⾯的编码决定(上⼀次请求服务器,响应的是什么编码,这回发送过去的就是什么编码)ps:getBytes()是将⼀个字符串转化为⼀个字节数组。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论