HttpServletRequest的浅谈

           HttpServletRequest封装了用户的所有信息,当查看调用用户数据的时候就需要HttpServletRequest,她可以实现用户所有信息的调用。

           其中,她有几个常用的方法如下:

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

  • getRequestURI方法返回请求行中的资源名部分。
  • getQueryString 方法返回请求行中的参数部分。
  • getRemoteAddr方法返回发出请求的客户机的IP地址
  • getRemoteHost方法返回发出请求的客户机的完整主机名
  • getRemotePort方法返回客户机所使用的网络端口号
  • getLocalAddr方法返回WEB服务器的IP地址。
  • getLocalName方法返回WEB服务器的主机名
  • getMethod得到客户机请求方式
      这些方法的具体实现如下:
//返回相关请求的信息
              String uri=request.getRequestURI();
              String rad = request.getRemoteAddr();
              String rh = request.getRemoteHost();
              String ru = request.getRemoteUser();
              intrp = request.getRemotePort();
              String cp = request.getContextPath();
              String la = request.getLocalAddr();
              String ce = request.getCharacterEncoding();
              String gm = request.getMethod();
              String qs = 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);

、通过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类型的值数组。
来看其中的具体应用:



  这是完成以上页面的html代码:
 Register.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">
<html>
 <head>
   <title>Register.html</title>
      
    <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
    <metahttp-equiv="description" content="this is my page">
   <meta http-equiv="content-type" content="text/html;charset=UTF-8">
   
   <!--<link rel="stylesheet" type="text/css"href="./styles.css">-->
 
 </head>
 
 <body>
 <form action ="RequestLogin" method ="post">
    用户名:<input type="text"name = "username" ><br/>
    密码:  <inputtype="password" name = "password"><br/>
  性别:<input type="radio"name = "sex" value ="male">男
     <input type="radio" name = "sex" value="female">女<br/>
  籍贯: <select name="city">
       <option value ="HeBei">河北</option>
       <opton value ="HuBei">湖北</opton>
       <option value ="ShanXi">山西</option>
     </select><br/>
简历:<br/>
  &nsp;<textarea rows="5" cols="20" name="intro"></textarea>
<br/>
爱好:<br/>
<input type="checkbox" name="hobbies" value ="sing"/>唱歌
<input type="checkbox" name="hobbies" value ="dance"/>跳舞
<input type="checkbox" name="hobbies" value ="readbook"/>读书
<input type="checkbox" name="hobbies" value ="readnewspaper"/>看报<br/>
上传头像:<br/>
<input type="file" value="image" name ="browser"><br/>
<input type="submit" value="提交"/>
 </form>
 
 </body>
</html>
这是相配套的java代码:
private void getInformation(HttpServletRequest request)
throws UnsupportedEncodingException {
//取出参数值 
String name = request.getParameter("username"); 
String pass = request.getParameter("password"); 
String sex = request.getParameter("sex"); 
String city = request.getParameter("city"); 
String intro = request.getParameter("intro"); 
String [] hobbies = request.getParameterValues("hobbies"); 
String hobby =""; 
//hobbies!=null对所取值为空时进行设置 
for(int i=0;hobbies!=null&&i<hobbies.length;i++)
{ String hovalue = hobbies[i]; hobby += hovalue; } 
//获取头像信息 // String image = request.getParameter("image"); 
System.out.println("username:"+name); 
System.out.println("password:"+pass); 
System.out.println("sex:"+sex); System.out.println("city:"+city); 
System.out.println("intro:"+intro); System.out.println("hobby:"+hobby);}
        这些内容很大一部分是我摘至一些其他地方的,但是内容还是很不错的,与大家共勉。。。

     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值