request对象:
* 作用:request对象中封存了当前请求的所有请求信息
* 使用:
* 获取请求头数据
* req.getMethod();//获取请求方式
* req.getRequestURL();//获取请求URL信息
* req.getRequestURI();//获取请求URI信息
* req.getScheme();//获取协议
* 获取请求行数据
* req.getHeader("键名");//返回指定的请求头信息
* req.getHeaderNames();//返回请求头的键名的枚举集合
Enumeration e = req.getHeaderNames();
while(e.hasMoreElements()){ String name=(String) e.nextElement(); String value=req.getHeader(name); System.out.println(name+":"+value); }
* 获取用户数据
* req.getParameter("键名");//返回指定的用户数据
* req.getParameterValues("键名");//返回同键不同值的请求数据(多选),返回的数组。
* req.getParameterNames()//返回所有用户请求数据的枚举集合
* 注意:
* 如果要获取的请求数据不存在,不会报错,返回null。
* 注意:
* request对象由tomcat服务器创建,并作为实参传递给处理请求的servlet的service方法。
Respone对象:
* 作用:
* 用来响应数据到浏览器的一个对象
* 使用:
* 设置响应头
* setHeader(String name,String value);//在响应头中添加响应信息,但是同键会覆盖
* addHeader(String name,String value);//在响应头中添加响应信息,但是不会覆盖。
* 设置响应状态
* sendError(int num,String msg);//自定义响应状态码。
* 设置响应实体
* resp.getWrite().write(String str);//响应具体的数据给浏览器
* 设置响应编码格式:
* resp.setContentType("text/html;charset=utf-8");
* 总结:
* service请求处理代码流程:
* 设置响应编码格式
* 获取请求数据
* 处理请求数据
* 数据库操作(MVC思想)
* 响应处理结果
请求中文乱码解决:
* 1、使用String进行数据重新编码
* uname=new String(uname.getBytes("iso8859-1"),"utf-8");
* 2、使用公共配置
* get方式:
* 步骤一:req.setCharacterEncoding("utf-8");
* 步骤二:
* 在tomcat的目录下的conf目录中修改server.xml文件:在Connector标签中增加属性 useBodyEncodingForURI="true"
* post方式:
* req.setCharacterEncoding("utf-8");