博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp内置对象之 resquest
阅读量:6452 次
发布时间:2019-06-23

本文共 4262 字,大约阅读时间需要 14 分钟。

hot3.png

request让服务器取得用户在网页表单中所输入的数据内容。

setAttribute(String name,Object):设置名字为name的request的参数值

getAttribute(String name):返回由name指定的属性值
getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例
getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组
getCharacterEncoding():返回请求中的字符编码方式   //set
getContentLength():返回请求的Body的长度
getHeader(String name):获得HTTP协议定义的文件头信息
getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例
getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例
getInputStream():返回请求的输入流,用于获得请求中的数据
getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有name指定的参数值
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例
getParameterValues(String name):获得有name指定的参数的所有值
getProtocol():获取客户端向服务器端传送数据所依据的协议名称
getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址
getRemoteAddr():获取客户端的IP地址
getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session
getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性

例:String getParameter(String name)

在requestInfo.jsp中

  
  
  
用户名:

  
密 码:

  
     

       

200843_5aQz_1413857.png

在showInfo.jsp中:

  

您刚才输入的内容是:

   <%   Enumeration enu = request.getParameterNames();   while(enu.hasMoreElements()){   String parameterName = (String)enu.nextElement();   String parameterValue = (String)request.getParameter(parameterName);   out.println("参数名称:"+parameterName + "
");   out.println("参数内容:"+parameterValue + "
");   }    %>  

201025_gUTW_1413857.png

_______________________________________________________________________________________________________________

例:String[] getParameterValues(String name)

读取多个变量的值, 主要用于获取复选框的值或下拉列表带multipe属性的值。

hobby.html

    用户信息	    
    
    
        
        
  

兴趣:  

看书
足球
旅游
音乐
看电视

       

203509_sH18_1413857.png

响应页面:hobbyInfo.jsp

<%-- <%request.setCharacterEncoding("utf-8"); %> --%>      
<%=basePath%>">        
My JSP 'hobbyInfo.jsp' starting page    
    
         <%   String[] hobby = request.getParameterValues("habit");   if(hobby != null){   for(int i = 0; i < hobby.length; i++){   if(hobby[i].equals("Read")){   out.println("看书");   }   if(hobby[i].equals("Football")){   out.println("足球");   }   if(hobby[i].equals("Travel")){   out.println("旅游");   }   if(hobby[i].equals("Music")){   out.println("听音乐");   }   if(hobby[i].equals("Tv")){   out.println("看电视");   }   }   }    %>     

203708_uUic_1413857.png

例:String[] getParameterValues(String name) 用在读取带mutiple属性的下拉列表中的数据

city.html

      用户信息	    
    
    
        
      

您喜欢的城市是:

  

    图示:205547_e1ZY_1413857.png

cityInfo.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%request.setCharacterEncoding("gb2312"); %>      
<%=basePath%>">        
My JSP 'cityInfo.jsp' starting page    
    
         喜欢的城市:   <%    String[] citys = request.getParameterValues("city");   if(citys != null){   for(int i = 0; i < citys.length; i++){   out.println(citys[i] + " ");   }   }   %>  

图示:    205645_4Hjx_1413857.png

利用request获取一些系统信息:

  	
客户使用的协议是: <%=request.getProtocol() %>
获取客户提交信息的长度: <%=request.getServletPath() %>
接收客户提交信息的长度: <%=request.getContentLength() %>
客户提交信息的方式: <%=request.getMethod() %>
获取客户机的名称: <%=request.getRemoteHost() %>
获取客户的IP: <%=request.getRemoteAddr() %>
枚举所有的头部文件名称: <% Enumeration enm = request.getHeaderNames(); while(enm.hasMoreElements()){ String s = (String)enm.nextElement(); out.println(s); }  %>  
 枚举头部信息中指定头名字的全部值:  <%   Enumeration d = request.getHeaders("cookie");   while(d.hasMoreElements()){   String a = (String)d.nextElement();   out.println(d);   }     %>  

如:212203_mXdQ_1413857.png

转载于:https://my.oschina.net/xlazhh/blog/331983

你可能感兴趣的文章
建立Ftp站点
查看>>
NavigationController的使用
查看>>
多线程编程之Windows环境下创建新线程
查看>>
ASP.Net MVC的开发模式
查看>>
groupbox 下的datagridview的列标题字体修改混乱
查看>>
HDU-3092 Least common multiple---数论+分组背包
查看>>
CentOS 7使用systemctl如何补全服务名称
查看>>
Unity3D NGUI 给button按钮添加单间事件
查看>>
C# 使用各种API
查看>>
密码的校验.大小写字母,数字,特殊字符中的至少3种
查看>>
ios 不同sdk4.3 6.0版本号,关于方法的兼容性的通用方法
查看>>
Shell编程学习总结
查看>>
070、如何定制Calico 网络policy(2019-04-15 周一)
查看>>
构建之法阅读笔记02
查看>>
Webstorm常用快捷键备忘
查看>>
js滚动加载到底部
查看>>
关于mac远程链接window服务器以及实现共享文件
查看>>
Redis慢查询,redis-cli,redis-benchmark,info
查看>>
Virtualbox 虚拟机网络不通
查看>>
java概念基础笔记整理
查看>>