#HttpServletRequest
这个对象封装了客户端提交过来的一切数据
- 可以获取客户端请求头信息
- 获取客户端提交过来的数据
- 获取中文数据
-> 客户端提交数据给服务端,如果数据中带有中文,可能会出现乱码,解决方法:
#如果是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
负责返回数据给客户端
- 输出数据到页面上:
-以字符流的方式写数据
response.getWriter().write("");
-以字节流的方式写数据
response.getOuputStream().write(""); - 设置当前这个请求的处理状态码
-response.setStatus(""); - 设置一个头
-response.setHeader(name, value); - 设置相应的内容类型,以及编码
-response.setContentType(type);
响应的数据中有中文,有可能会出现中文乱码
解决方案:
response.setContentType(“text/html;charset=utf-8”);
request:包含请求的信息
response:响应数据给浏览器