在response上面setContentType 只是相当于向客户端写入:
这个是html协议文档头部的可定义属性。不设置可能造成客户端浏览器解析的文档出现乱码、甚至js报错。
request和response完全是不相关的对象,request是服务器获取客户端的数据,大部分的属性是已经存在的、是只读的(get/post只是http请求(即:request)的两种形式),response上面的内容则都是由服务器来生成的,所以可以设置参数。
我知道的在做网页代理的时候,如果有必要,会使用到:request.setContentType。这个
当客户端向服务器发送请求时用的request,而response是服务器做出响应后向客户端返回信息的,也可以这么理解吧,最通俗点的request.setContentType("text/html;; charset=UTF-8");是设置你本页面也就是Servlet里面的编码类型的,text/html表示告诉服务器这是一个html页面,而charset=utf-8则是编码,而服务器处理后你输出的IP也是用的response,所以response.setContentType("text/html;; charset=UTF-8");的话通俗的说也就是设置处理后返回的信息,就是out.write输出的编码吧!!!可能说法不对,但这样应该好理解点吧,好乱!!!
这两个方法的使用时机是不同的。如果是服务器反映给客户的信息的话,则要使用response.setContentType("text/html;; charset=UTF-8");了,如果是客户请求服务器时则使用request.setContentType("text/html;; charset=UTF-8");
简单的说就是读取客户端提交的信息时用这句话。没有这句就不支持中文信息。如果单纯处理英文信息可以不写这句话。
都有推荐答案了。。。