zoukankan      html  css  js  c++  java
  • request对象详解

    先来了解一下Request的主要方法:

    setAttribute(String name,Object):设置名字为name的request的参数值
    getAttribute(String name):返回由name指定的属性值
    getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例
    getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组

    getCharacterEncoding():返回请求中的字符编码方式
    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):删除请求中的一个属性

     

    forward和redirect的区别

     

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

    request.getAttribute()和 request.getParameter()有何区别?

    getParameter得到的都是String类型的。或者是http://a.jsp?id=123中的123,或者是某个表单提交过去的数据。
    getAttribute则可以是对象。
    getParameter()是获取POST/GET传递的参数值;
    getAttribute()是获取对象容器中的数据值;
    getParameter:用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据用。
    getAttribute:用于服务器端重定向时,即在sevlet中使用了forward函数,或struts中使用了mapping.findForward。getAttribute只能收到程序用setAttribute传过来的值。
    getParameter()是获取POST/GET传递的参数值;
    getAttribute()是获取SESSION的值;
    另外,可以用setAttribute,getAttribute发送接收对象.而getParameter显然只能传字符串。setAttribute是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝另一个页面所对应的内存中。这样getAttribute就能取得你所设下的值,当然这种方法可以传对象。session也一样,只是对象在内存中的生命周期不一样而已。getParameter只是应用服务器在分析你送上来的request页面的文本时,取得你设在表单或url重定向时的值。
    getParameter返回的是String, 用于读取提交的表单中的值;
    getAttribute返回的是Object,需进行转换,可用setAttribute设置成任意对象,使用很灵活,可随时用;

  • 相关阅读:
    dnn5.5.1的配置
    The Auto option has been disabled as the DotNetNuke Application cannot connect to a valid SQL Server database
    DNN常用的几种页面跳转(EditUrl和Globals.NavigateURL)
    动态生成ASP.NET按钮时要注意的一个问题
    Visual C#实现Windows信使服务
    浏览器滚动条的参数总结
    AJAX实现无刷新三联动下拉框
    c#.net常用的小函数和方法集
    利用OWC生成统计图表(代码+注释)
    ASP.NET之精通弹出窗口
  • 原文地址:https://www.cnblogs.com/dqh94/p/6062685.html
Copyright © 2011-2022 走看看