HttpServletRequest和HttpServletResponse小理

#HttpServletRequest
这个对象封装了客户端提交过来的一切数据

  1. 可以获取客户端请求头信息
  2. 获取客户端提交过来的数据
  3. 获取中文数据
    -> 客户端提交数据给服务端,如果数据中带有中文,可能会出现乱码,解决方法:

#如果是GET方式
a. 代码转换
-get请求过来的数据,在url地址栏上就已经经过编码了,所以我们取到的是乱码。
tomcat收到了这批数据,getParameter默认使用ISO-8859-1去解码

先让文字回到ISO-8859-1对应的字节数组,然后再按utf-8组拼字符串
String username = new String(username.getBytes(“ISO-8859-1”), “utf-8”);

b. 修改配置文件
可以在tomcat里面做设置处理, conf/server.xml
<Connector connectionTimeout=“20000” port=“8080” protocol=“HTTP/1.1” redirectPort=“8443” URIEncoding=“utf-8”>

#如果是POST方式
request.setCharacterEncoding(“utf-8”);
这一行一定要写在getParameter之前

#HttpServletResponse
负责返回数据给客户端

  1. 输出数据到页面上:
    -以字符流的方式写数据
    response.getWriter().write("");
    -以字节流的方式写数据
    response.getOuputStream().write("");
  2. 设置当前这个请求的处理状态码
    -response.setStatus("");
  3. 设置一个头
    -response.setHeader(name, value);
  4. 设置相应的内容类型,以及编码
    -response.setContentType(type);

响应的数据中有中文,有可能会出现中文乱码
解决方案:
response.setContentType(“text/html;charset=utf-8”);

request:包含请求的信息
response:响应数据给浏览器

猜你喜欢

转载自blog.csdn.net/syl2850246/article/details/88595830
今日推荐