HttpReques

一、介绍
  代表客户端的请求,当客户端通过http协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
二、常用方法
  getRequestURL:客户端发起请求时的完整URL
  getParameter(String name):获取name属性值为name的表单内容
  getParameterValues(String name):当表单内容为数组是使用该方法
  getParameterMap:编写框架时常用
三、request接受表单提交中文乱码问题
  1、Post方式提交出现乱码
  在服务器端的doGet或doPost方法中添加request.setCharacterEcoding(“UTF-8”); 设置服务器以UTF-8格式接收
  2、Get方式提交出现乱码(
  实质是因为tomcat下service.xml下的URLEcoding编码,修改该service.xml文件即可。或者:
  String name = request.getParameter(“name”);
  name = new String(name.getBytes(“ISO8859-1”),“UTF-8”);
四、request对象实现请求转发
  1、通过ServletContext的getRequestDispatcher(String path),该方法返回一个Dispatcher对象,调用该对象的forward方法即可。
RequestDispathcer reqDispatcher = this.getServletContext().getRequestDispatcher("./test.jsp"); reqDispather.forward(request,response);
  2、通过request对象提供的getRequestDispatcher方法,该方法返回一个Dispatcher对象,调用该方法的forward方法即可。
request.getRequestDispatcher("/test.jap").forward(request,response);
注:request对象可以当作域对象(Map容器)来使用
  .setAttribute(String name,Object o):将数据作为request对象的一个属性存放到request中。
  .getAttribute(String name):获取属性为name的属性值。
  .removeAttribute(String name):移除name属性
  .getAttributeName():获取request对象的所有属性名,返回的是枚举类Enumeartion<String>
五、请求转发和请求重定向的区别
请求转发:一个WEB资源收到客户端请求后,通知服务器调用另一个WEB资源处理该请求。
request.getRequestDispatcher("/test.jsp").forward(request,response);
请求重定向:一个WEB资源受到客户端请求后,通知浏览器去请求另一个WEB资源进程进行处理。
response.sendRedirect("/test.jsp");

猜你喜欢

转载自blog.csdn.net/weixin_43766090/article/details/85157474