• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            getAttribute和getParameter的區(qū)別

            getAttribute
            1.getAttribute()
            得到的數(shù)據(jù)是object類型,需要強(qiáng)行轉(zhuǎn)換得到相應(yīng)類型。這是因?yàn)樗谦@取存放在Web應(yīng)用特定范圍中的數(shù)據(jù)值。
            2.request.setAttribute()
            getAttribute()方法傳遞的數(shù)據(jù)只會(huì)存在于Web容器內(nèi)部,在具有轉(zhuǎn)發(fā)關(guān)系的Web組件之間共享。即request.getAttribute()方法返回request范圍內(nèi)存在的對(duì)象。

            getParameter
            1.getParameter
            得到的都是String類型的,取得你設(shè)在表單或url重定向時(shí)的值,如:http://demo.jsp?id=88中的88
            2.request.getParameter()
            方法傳遞的數(shù)據(jù),會(huì)從Web客戶端傳到Web服務(wù)器端,代表HTTP請(qǐng)求數(shù)據(jù)。

            當(dāng)兩個(gè)Web組件之間為轉(zhuǎn)發(fā)關(guān)系時(shí),轉(zhuǎn)發(fā)源會(huì)將要共享 request范圍內(nèi)的數(shù)據(jù)先用setAttribute將數(shù)據(jù)放入到HttpServletRequest對(duì)象中,然后轉(zhuǎn)發(fā)目標(biāo)通過(guò) getAttribute方法來(lái)取得要共享的數(shù)據(jù)。而MVC中用的就是Web組件之間的轉(zhuǎn)發(fā)啊!真是笨,怎么當(dāng)時(shí)沒(méi)有想到呢?

             

            下面整理一下getParametergetAttribute的區(qū)別和各自的使用范圍。

            1HttpServletRequest類有setAttribute()方法,而沒(méi)有setParameter()方法

            2)當(dāng)兩個(gè)Web組件之間為鏈接關(guān)系時(shí),被鏈接的組件通過(guò)getParameter()方法來(lái)獲得請(qǐng)求參數(shù),例如假定welcome.jspauthenticate.jsp之間為鏈接關(guān)系,welcome.jsp中有以下代碼:

             

            <a href="authenticate.jsp?username=wolf">authenticate.jsp </a>

             

            或者:

             

            <form name="form1" method="post" action="authenticate.jsp">

            請(qǐng)輸入用戶姓名:<input type="text" name="username">

            <input type="submit" name="Submit" value="提交">

            </form>

             

            authenticate.jsp中通過(guò)request.getParameter("username")方法來(lái)獲得請(qǐng)求參數(shù)username:

             

            <% String username=request.getParameter("username"); %>

            3)當(dāng)兩個(gè)Web組件之間為轉(zhuǎn)發(fā)關(guān)系時(shí),轉(zhuǎn)發(fā)目標(biāo)組件通過(guò)getAttribute()方法來(lái)和轉(zhuǎn)發(fā)源組件共享request范圍內(nèi)的數(shù)據(jù)。

            假定 authenticate.jsphello.jsp之間為轉(zhuǎn)發(fā)關(guān)系。authenticate.jsp希望向hello.jsp傳遞當(dāng)前的用戶名字,如何傳遞這一數(shù)據(jù)呢?先在authenticate.jsp中調(diào)用setAttribute()方法:

             

            <%

            String username=request.getParameter("username");

            request.setAttribute("username"username);

            %>

             

            <jsp:forward page="hello.jsp" />

             

            hello.jsp中通過(guò)getAttribute()方法獲得用戶名字:

             

            <% String username=(String)request.getAttribute("username"); %>

            Hello: <%=username %>

             

            從更深的層次考慮,request.getParameter()方法傳遞的數(shù)據(jù),會(huì)從Web客戶端傳到Web服務(wù)器端,代表HTTP請(qǐng)求數(shù)據(jù)。request.getParameter()方法返回String類型的數(shù)據(jù)。

             

            request.setAttribute()getAttribute()方法傳遞的數(shù)據(jù)只會(huì)存在于Web容器內(nèi)部,在具有轉(zhuǎn)發(fā)關(guān)系的Web組件之間共享。這兩個(gè)方法能夠設(shè)置Object類型的共享數(shù)據(jù)。

             

            request.getParameter()取得是通過(guò)容器的實(shí)現(xiàn)來(lái)取得通過(guò)類似postget等方式傳入的數(shù)據(jù)。

            request.setAttribute()getAttribute()只是在web容器內(nèi)部流轉(zhuǎn),僅僅是請(qǐng)求處理階段。

            getAttribute是返回對(duì)象,getParameter返回字符串

             

            總的來(lái)說(shuō):request.getAttribute()方法返回request范圍內(nèi)存在的對(duì)象,而request.getParameter()方法是獲取http提交過(guò)來(lái)的數(shù)據(jù)。

            posted on 2009-06-14 19:56 肥仔 閱讀(951) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Web-后臺(tái)

            久久艹国产| 久久久免费精品re6| 91精品无码久久久久久五月天| 国产精品久久波多野结衣| 国内精品伊人久久久久| 精品国产热久久久福利| 2019久久久高清456| 久久精品人人做人人妻人人玩 | 久久夜色撩人精品国产小说| 国产精品亚洲综合久久| 青青青青久久精品国产| 人妻精品久久久久中文字幕69| 99久久久久| 国内精品久久久人妻中文字幕| 精品久久久无码中文字幕| 97久久国产综合精品女不卡 | 久久久久久国产精品美女| 嫩草伊人久久精品少妇AV| 午夜精品久久久久成人| 91久久精品国产免费直播| 久久亚洲精品国产精品| 久久久久久国产精品无码下载| 久久久久国产视频电影| 青青青国产精品国产精品久久久久| 亚洲国产精品无码成人片久久| 无码精品久久一区二区三区| 国产91久久综合| 国产精品永久久久久久久久久 | 色播久久人人爽人人爽人人片AV| 久久福利青草精品资源站| 久久精品aⅴ无码中文字字幕重口| 久久天天躁狠狠躁夜夜不卡 | 久久久www免费人成精品| 免费一级欧美大片久久网| 亚洲国产精品久久久久网站| 久久精品9988| 久久国产高清字幕中文| 亚洲综合精品香蕉久久网97| 亚洲国产二区三区久久| 久久国产免费观看精品| 国产亚洲成人久久|