request对象
来源:互联网 发布:电脑地图软件 编辑:程序博客网 时间:2024/06/05 11:39
HttpServletRequest
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息
request常用方法
l获得客户机信息
?getRequestURL方法返回客户端发出请求时的完整URL。
?getRequestURI方法返回请求行中的资源名部分。
?getQueryString 方法返回请求行中的参数部分。
?getRemoteAddr方法返回发出请求的客户机的IP地址
?getRemoteHost方法返回发出请求的客户机的完整主机名
?getRemotePort方法返回客户机所使用的网络端口号
?getLocalAddr方法返回WEB服务器的IP地址。
?getLocalName方法返回WEB服务器的主机名
?getMethod得到客户机请求方式
URL和URI的关系:URI是URL的父类,URI描述资源,URL描述互联网的资源
String url = request.getRequestURL().toString();
System.out.println(url); System.out.println(request.getRequestURI()); System.out.println(request.getQueryString()); System.out.println(request.getRemoteAddr()); System.out.println(request.getRemoteHost()); System.out.println(request.getRemotePort()); System.out.println(request.getMethod());
Request常用方法
l获得客户机请求头
?getHead(name)方法
?getHeaders(String name)方法
?getHeaderNames方法
l获得客户机请求参数(客户端提交的数据)
?getParameter(name)方法
?getParameterValues(String name)方法
?getParameterNames方法
?getParameterMap方法 //
?getInputStream
获取客户机带过来的数据
String username = request.getParameter("username"); System.out.println(username); System.out.println("----------------------"); Enumeration e = request.getParameterNames(); while(e.hasMoreElements()){ String name =(String) e.nextElement(); String value = request.getParameter(name); System.out.println(name + "=" + value); } System.out.println("----------------------"); String values[] =request.getParameterValues("username"); for(int i=0;values!=null &&i<values.length;i++){ System.out.println(values[i]); } System.out.println("----------------------"); //http://localhost:8080/day05/servlet/RequestDemo3?username=aaa&username=bbb&password=123 Map<String,String[]>map = request.getParameterMap(); Set<Map.Entry<String,String[]>> set = map.entrySet(); for(Map.Entry<String,String[]> entry : set){ username =entry.getKey(); values =entry.getValue(); for(int i=0;values!=null &&i<values.length;i++){ System.out.println(username +"=" + values[i]); } }
request常见应用1
l防盗链
String referer =request.getHeader(“referer”);
if(referer==null ||!referer.startsWith("http://localhost")){ response.sendRedirect("/day05/index.html"); return; } String data = "凤姐日记"; response.setCharacterEncoding("UTF-8"); response.setHeader("content-type", "text/html;charset=UTF-8"); response.getWriter().write(data);
l各种表单输入项数据的获取
?text、password、radio、checkbox、
?file、select、textarea、 hidden、
?image、button给js编程用
package cn.itcast.request;
import java.io.IOException;
import java.util.Arrays;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//获取不同类型表单的数据(获取客户机表单提交的数据)
public class RequestDemo5 extends HttpServlet {
publicvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println(request.getParameter("username")); System.out.println(request.getParameter("password")); System.out.println(request.getParameter("gender")); System.out.println(Arrays.asList(request.getParameterValues("like")==null?newString[]{}:request.getParameterValues("like"))); System.out.println(request.getParameter("city")); System.out.println(request.getParameter("resume")); System.out.println(request.getParameter("xx")); String username =request.getParameter("username"); //"" null if(username==null ||username.trim().equals("")){ System.out.println("您没有提交数据"); } request.getParameter("gender"); //null request.getParameterValues("like");//null}publicvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response);}
}
form表单:
form.html
- Request 对象
- Request对象
- Request 对象
- Request 对象
- request对象:
- Request 对象
- REQUEST对象
- Request 对象
- Request 对象
- Request 对象
- Request对象
- Request对象
- request对象
- Request 对象
- request 对象
- request对象
- request对象
- request对象
- 微信小程序例子——打开微信小程序内置地图
- 微信小程序例子——获取自己所处的位置坐标
- PHP 双引号内的对象和数组
- 修改 Mac 默认 PHP 运行环境,给 MAMP 配置全局 Composer
- Codeforces #732D 二分 贪心
- request对象
- 简述Handler机制
- ffmpeg
- 关于安卓AudioTrack::getMinFrameCount的分析
- XEN do_hvm_op流程分析
- springmvc与ajax交互
- Linux常用高频命令tree、tar、cat、stat等(自总结)
- 非英文键盘组合键失效的一种可能
- 【NOIP2004提高组T4】虫食算-搜索剪枝