servlet 1.3 Http的Get、Post請求及參數(shù)使用

get孵延、post區(qū)別

1吕漂、post有請求體
2、get請求意味著獲取消息尘应,不改變服務(wù)器上的東西
而post請求意味著發(fā)送需要處理的數(shù)據(jù)惶凝,去改變服務(wù)器上的一些東西
3、可以多次發(fā)起get請求犬钢,而不對服務(wù)器有影響苍鲜,是等冪請求;
但post不同玷犹,要避免表單的重復(fù)提交混滔,是非等冪請求
4、post請求需要表單,在<form> 標(biāo)簽中使用method屬性指定http 方法為post坯屿,使用action 屬性指定表單提交的地址油湖;而get除了這種方法之外,還可以直接使用超鏈接的方式领跛。

使用參數(shù)

1乏德、當(dāng)輸入的參數(shù)為1個(gè)值時(shí),使用request.getParameter
例如:

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

2隔节、多選框鹅经,輸入多個(gè)值,使用 getParameterValues

String[] hobbies = request.getParameterValues("hobby");

        PrintWriter out  = response.getWriter();
        for(String s:hobbies){
            out.println(s.toString());
        }

3怎诫、還可以使用getParameterNames方法

Enumeration<String> paras = request.getParameterNames();
        PrintWriter out  = response.getWriter();

        while(paras.hasMoreElements()){
            String paraname = paras.nextElement();
  out.println(paraname+":"+request.getParameter(paraname));
        }

4瘾晃、獲取所有請求的參數(shù)名稱和值,放到一個(gè)map對象中

        PrintWriter out  = response.getWriter();
        Map<String, String[]> mapParas = request.getParameterMap();
        for(Map.Entry<String, String[]> entry :mapParas.entrySet()){
             out.println(entry.getKey()+":"+entry.getValue()[0]);
        }

提示map遍歷:

Map<String, String[]> mapParas = new HashMap<String, String[]>();
        mapParas.put("xx",new String[]{"18","a"});
        mapParas.put("yy",new String[]{"19","b"});
    for(Map.Entry<String, String[]> entry :mapParas.entrySet()){
            int len = entry.getValue().length;
            System.out.print(entry.getKey()+":");
            for(int i=0;i<len;i++)
                System.out.print(entry.getValue()[i]+"  ");
            System.out.println();
        }

請求頭和響應(yīng)頭

請求頭常用方法:

        String browser = request.getHeader("User-Agent");
        int size = request.getIntHeader("Content-Length");
        int size2 = request.getContentLength();
        Enumeration<String> eHeaders = request.getHeaderNames();
        Enumeration<String> languages = request.getHeaders("Accept-Language");
        
        int remotePort = request.getRemotePort();//客戶端的端口號
        int serverPort = request.getServerPort();//請求原來發(fā)送的那個(gè)服務(wù)器端口
        int localPort = request.getLocalPort();//最終分配的端口
    

響應(yīng)頭常用方法

        response.setHeader("ContentType", "text/html");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset = utf-8");
        
        response.setDateHeader("Expires", 0);//阻止瀏覽器緩存
        response.setIntHeader("Refresh", 5);//設(shè)置刷新幻妓,5秒后自動(dòng)刷新
        response.setContentLength(1500);//設(shè)置請求體長度
        

doGet方法體內(nèi)

        response.setCharacterEncoding("utf-8");
        response.setHeader("Content-type", "text/html  charset = utf-8");
        PrintWriter out = response.getWriter();

        out.println("<html><body>"
                +"其他html"+
                "</body></html>");  
        out.flush();
        out.close();
注意:

一般在調(diào)用輸出流對象之前(getWriter()蹦误、getOutputStream()等)之前要先調(diào)用setContentType()方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市肉津,隨后出現(xiàn)的幾起案子强胰,更是在濱河造成了極大的恐慌,老刑警劉巖妹沙,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偶洋,死亡現(xiàn)場離奇詭異,居然都是意外死亡距糖,警方通過查閱死者的電腦和手機(jī)玄窝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悍引,“玉大人恩脂,你說我怎么就攤上這事∪そ铮” “怎么了俩块?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長浓领。 經(jīng)常有香客問我玉凯,道長,這世上最難降的妖魔是什么镊逝? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任壮啊,我火速辦了婚禮,結(jié)果婚禮上撑蒜,老公的妹妹穿的比我還像新娘歹啼。我一直安慰自己玄渗,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布狸眼。 她就那樣靜靜地躺著藤树,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拓萌。 梳的紋絲不亂的頭發(fā)上岁钓,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機(jī)與錄音微王,去河邊找鬼屡限。 笑死,一個(gè)胖子當(dāng)著我的面吹牛炕倘,可吹牛的內(nèi)容都是我干的钧大。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼罩旋,長吁一口氣:“原來是場噩夢啊……” “哼啊央!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起涨醋,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤瓜饥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后浴骂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乓土,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年溯警,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了帐我。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡愧膀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谣光,到底是詐尸還是另有隱情檩淋,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布萄金,位于F島的核電站蟀悦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏氧敢。R本人自食惡果不足惜日戈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望孙乖。 院中可真熱鬧浙炼,春花似錦份氧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至资厉,卻和暖如春厅缺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宴偿。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工湘捎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窄刘。 一個(gè)月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓窥妇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親都哭。 傳聞我的和親對象是個(gè)殘疾皇子秩伞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)欺矫,斷路器纱新,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法穆趴,內(nèi)部類的語法脸爱,繼承相關(guān)的語法,異常的語法未妹,線程的語...
    子非魚_t_閱讀 31,597評論 18 399
  • Redis 數(shù)據(jù)結(jié)構(gòu)簡介 Redis 可以存儲(chǔ)鍵與5種不同數(shù)據(jù)結(jié)構(gòu)類型之間的映射簿废,這5種數(shù)據(jù)結(jié)構(gòu)類型分別為Stri...
    DreamerRzc閱讀 236,762評論 26 273
  • java筆記第一天 == 和 equals ==比較的比較的是兩個(gè)變量的值是否相等,對于引用型變量表示的是兩個(gè)變量...
    jmychou閱讀 1,488評論 0 3
  • 好像是初中生物學(xué)還是什么時(shí)候,總之是long long ago化戳,就學(xué)過馬斯洛的需求層次理論单料。理論學(xué)過那么多,那與我...
    無花島主夫人閱讀 788評論 0 0