首页 > 代码库 > jsp九大内置对象之一request

jsp九大内置对象之一request

      request对象,目的是用来获取客户端的请求。

      主要方法有:

request.getMethod();                      // 获取提交请求的方式

request.getProtocol();                    // 获取请求的协议

request.getRequestURL();              // 获取请求目标网络路径
request.getServletPath();               // 获取请求目标的在项目中的相对路径

 

 

request.getServerName();              // 获取服务器名称/ip
request.getServerPort();                // 获取服务器端口号
request.getRemoteAddr();              // 客户端IP
request.getRemoteHost();              // 客户端主机
request.getCharacterEncoding();     // 对请求编码
request.getParameter("username"); // 获取提交过来的数据
request.getRequestURI();               // 获取请求目标的相对路径
request.getQueryString();               // 获取请求的全部参数(可以用作登录成功返回某一路径)

 

 还有request.setAttribute("",""); request.getAttribute("");  这里对它和request.getParamter(""); 区分一下,首先要明白转发和重定位的概念。

 转发:现实的例子是小明让小李做某件事,但是小李自己做不了或者不想做,于是将这件事告诉小王,小王做了这件事还可以将这件事交给小孙。。。,在整个事件中小明只是知道把这件事交给了小李,至于其它人他不知道。编程的知识是:转发源的浏览器地址栏地址是不变的,也就是小明看到的一直是小李的地址,在后面小李、小王之间不断告诉这件事所以是可以共享数据的。转发的代码是:request.getRequestDispatcher().forwar(request,response);  重点是地址不变,共享数据,所以可以设置

request.setAttribute("",""); request.getAttribute("");来共享数据。还可以获取其余数据,也就是小李获取的数据小王和小孙都能获取,他们时间还可以共享数据。

 重定位:现实的例子是小明让小李做某件事但是小李不做,小明又让小王做。。。,整件事小明都知道谁参与了,在编码中就是浏览器的地址在不断的变化,只要浏览器的地址变化都可以算作重定位比如表单提交,链接,和response.sendRedirect(""); 重点是不共享数据只能通过request.getParameter(""); 将数据写入request流中。

 上面的小明、小李是web组件是jsp html servlet都可以。

 

 

jsp九大内置对象之一request