Java Web学习-------HttpServletRequest对象的总结

一、HttpServletRequest对象的常用方法

(1)获取请求的方式:

 System.out.println(request.getMethod());

(2)获取请求的完整路径:

 System.out.println(request.getRequestURL());

(3)获取请求部分路径:

System.out.println(request.getRequestURI());

(4)获取请求的参数字符串:

System.out.println(request.getQueryString());

(5)获取请求的协议版本:

System.out.println(request.getProtocol());

(6)获取请求的访问路径:

 System.out.println(req.getContextPath());

二、获取请求参数的方法

(1)request.getParameter("参数名")--------获取指定参数名的参数值

注:

1.表单提交:参数名表示的是表单元素的name属性值

2.地址栏输入:参数名表示的是“?键=值&键=值”中的键

(2)request.getParameterValues("参数名")------获取指定参数名的所有的参数值

三、 请求乱码的问题

乱码原因: 默认解析编码不支持中文 。Tomacat 8以上版本get请求不乱码

解决方法:

(1)对任意请求方式都有效(一次只能处理一个参数)

new String(request.getParameter("参数名").getBytes("ISO-8859-1"),"UTF-8");

(2) 只针对post请求有效(处理所有参数)

 request.setCharacterEncoding("UTF-8"); 

四、请求转发:一种跳转方式

request.getRequestDispatcher("index.jsp").forward(req,resp);

特点:1.服务端跳转

 2.地址栏不会发生改变

 3.只有一次请求

 4.数据可以共享

五、请求作用域

只在一次请求中有效,即是只在一次请求转发中有效!!!

request.setAttribute("参数名",“参数值”);                    //设置作用域(任意类型的数据)
request.getAttribute("userName",unname);                   //获取作用域的值
request.removeAttribute("userName",unname);               //删除作用域
上一篇:过滤器过滤浏览器swagger-ui.html请求,和springboot的拦截器,如何使用


下一篇:Tomcat服务器种的HttpServletRequest类