HttpServletRequest应用(常见API)

深入体验JavaWeb开发内幕——关于HttpServletRequestRequest对象

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的相关方法,即可以获得客户的这些信息。

一、通过request常用方法获得相关信息:

1、通过request常用方法获得客户机信息

  •     getRequestURL方法返回客户端发出请求时的完整URL。
  • getRequestURI方法返回请求行中的资源名部分。
  • getQueryString 方法返回请求行中的参数部分。
  • getRemoteAddr方法返回发出请求的客户机的IP地址
  • getRemoteHost方法返回发出请求的客户机的完整主机名
  • getRemotePort方法返回客户机所使用的网络端口号
  • getLocalAddr方法返回WEB服务器的IP地址。
  • getLocalName方法返回WEB服务器的主机名
  • getMethod得到客户机请求方式

例如在Request.java中加入如下代码:

//返回相关请求的信息
           String uri=request.getRequestURI();
              Stringrad = request.getRemoteAddr();
              Stringrh = request.getRemoteHost();
              Stringru = request.getRemoteUser();
              intrp = request.getRemotePort();
              Stringcp = request.getContextPath();
              Stringla = request.getLocalAddr();
              Stringce = request.getCharacterEncoding();
              Stringgm = request.getMethod();
              Stringqs = request.getQueryString();
 
              System.out.println(uri);
              System.out.println(rad);
              System.out.println(rh);
              System.out.println(ru);
              System.out.println(rp);
              System.out.println(cp);
              System.out.println(la);
              System.out.println(ce);
              System.out.println(gm);
              System.out.println(qs);

  即可获取相关信息。

2、通过request常用方法获得客户机请求头信息

  •   getHead(name)方法
  •   getHeaders(String name)方法
  •   getHeaderNames方法 

如:

private void getRequestValue(HttpServletRequest request) {
		//获得客户机请求头及请求头的值
		System.out.println(request.getHeader("method"));
		Enumeration e = request.getHeaderNames();
		while(e.hasMoreElements()){
			String name = (String)e.nextElement();
			String value = request.getHeader(name);
			System.out.println(name+":"+value);
		}
	}

3.获得客户机请求参数(客户端提交的数据)

  •   getParameter(name):获取指定名称的参数值。这是最为常用的方法之一。
  •   getParameterValues(String name):获取指定名称参数的所有值数组。它适用于一个参数名对应多个值的情况。如页面表单中的复选框,多选列表提交的值。
  •   getParameterNames():返回一个包含请求消息中的所有参数名的Enumeration对象。通过遍历这个Enumeration对象,就可以获取请求消息中所有的参数名
  •   getParameterMap():返回一个保存了请求消息中的所有参数名和值的Map对象。Map对象的key是字符串类型的参数名,value是这个参数所对应的Object类型的值数组。

二、request的常见应用

1、 各种表单输入项数据的获取

如可以获取form表单中的text、password、radio、checkbox、 file、select、textarea、 hidden、image、button等组件的值进行数据库操作或其他处理操作。

来看一个具体应用:

界面代码主体部分如下:

 Register.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">
<html>
 <head>
   <title>Register.html</title>
      
    <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值