java web學(xué)習(xí)_淺談request對(duì)象中g(shù)et和post的差異
閱讀目錄(Content)
•1.get與post的區(qū)別
•1.1 get方法 jsp中的代碼form表單代碼
•1.2 action包中servlet的doGet方法中的代碼
•2.運(yùn)行結(jié)果
•2.1 輸入數(shù)據(jù)
•2.2 打印出數(shù)據(jù)
•3.post方法
•4.對(duì)比
•4.1 在輸出頁(yè)面按下F12查看
•5.分析
1.get與post的區(qū)別
Get和Post方法都是對(duì)服務(wù)器的請(qǐng)求方式,只是他們傳輸表單的方式不一樣。
下面我們就以傳輸一個(gè)表單的數(shù)據(jù)為例,來(lái)分析get與Post的區(qū)別
1.1 get方法 jsp中的代碼form表單代碼
1.2 action包中servlet的doGet方法中的代碼
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=gbk");//設(shè)置響應(yīng)正文的mime類(lèi)型 request.setCharacterEncoding("gbk");//設(shè)置請(qǐng)求的編碼格式 response.setCharacterEncoding("gbk"); String username = request.getParameter("userName");// String password = request.getParameter("password"); String sex = request.getParameter("sex"); String classes = request.getParameter("class"); String hobby[] = request.getParameterValues("hobby");// 獲取checkbox的數(shù)據(jù)保存到hobby數(shù)組中 PrintWriter out = response.getWriter(); if (hobby != null) { for (String x: hobby) { out.println("doGet被調(diào)用"); out.println("name:"+username+"password:"+password+"sex"+sex+"classes"+classes); out.println("hobby:" + x); } }else{ out.println("此人沒(méi)愛(ài)好!"); } }
注意:action包中servlet命名與form表單action的名字相同:
2.運(yùn)行結(jié)果 2.1 輸入數(shù)據(jù)
2.2 打印出數(shù)據(jù)
3.post方法
只需要將table表單中method改為post:
servlet中有這樣的一行代碼:
同樣能打印出:只是出現(xiàn)了亂碼
4.對(duì)比 4.1 在輸出頁(yè)面按下F12查看
post跟get的差異,優(yōu)先選post
post的缺點(diǎn):
更新web版本可以避免錯(cuò)誤
servlet代碼分析
5.分析
servlet作為控制器是不應(yīng)該輸出內(nèi)容的,我們應(yīng)該把要打印的內(nèi)容放到j(luò)sp文件中
以上這篇java web學(xué)習(xí)_淺談request對(duì)象中g(shù)et和post的差異就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java web Hibernate如何與數(shù)據(jù)庫(kù)鏈接
這篇文章主要介紹了Java web Hibernate如何與數(shù)據(jù)庫(kù)鏈接,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Spring Boot利用@Async異步調(diào)用:ThreadPoolTaskScheduler線(xiàn)程池的優(yōu)雅關(guān)閉詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot利用@Async異步調(diào)用:ThreadPoolTaskScheduler線(xiàn)程池的優(yōu)雅關(guān)閉的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05idea上提交項(xiàng)目到gitee 最后出現(xiàn) Push rejected的問(wèn)題處理方法
這篇文章主要介紹了idea上面提交項(xiàng)目到gitee 最后出現(xiàn) Push rejected的問(wèn)題處理方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09java 開(kāi)發(fā)中網(wǎng)絡(luò)編程之IP、URL詳解及實(shí)例代碼
這篇文章主要介紹了java 開(kāi)發(fā)中網(wǎng)絡(luò)編程之IP、URL詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03SpringBoot集成Kaptcha驗(yàn)證碼的詳細(xì)過(guò)程
Kaptcha是一個(gè)強(qiáng)大而靈活的Java驗(yàn)證碼生成庫(kù),通過(guò)合理的配置和使用,它可以有效地提高web應(yīng)用的安全性,防止自動(dòng)化程序的濫用,這篇文章主要介紹了SpringBoot集成Kaptcha驗(yàn)證碼,需要的朋友可以參考下2024-07-07Java時(shí)間類(lèi)Date類(lèi)和Calendar類(lèi)的使用詳解
這篇文章主要介紹了Java時(shí)間類(lèi)Date類(lèi)和Calendar類(lèi)的使用詳解,需要的朋友可以參考下2017-08-08spring boot在啟動(dòng)項(xiàng)目之后執(zhí)行的實(shí)現(xiàn)方法
在開(kāi)發(fā)時(shí)有時(shí)候需要在整個(gè)應(yīng)用開(kāi)始運(yùn)行時(shí)執(zhí)行一些特定代碼,比如初始化環(huán)境,下面這篇文章就來(lái)給大家介紹了關(guān)于spring boot在啟動(dòng)項(xiàng)目之后執(zhí)行自己要執(zhí)行的東西的實(shí)現(xiàn)方法,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考下。2017-09-09springboot整合JavaCV實(shí)現(xiàn)視頻截取第N幀并保存圖片
這篇文章主要為大家詳細(xì)介紹了springboot如何整合JavaCV實(shí)現(xiàn)視頻截取第N幀并保存為圖片,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-08-08Java并發(fā)編程示例(一):線(xiàn)程的創(chuàng)建和執(zhí)行
這篇文章主要介紹了Java并發(fā)編程示例(一):線(xiàn)程的創(chuàng)建和執(zhí)行,本文是系列文章的第一篇,需要的朋友可以參考下2014-12-12Java中保證多線(xiàn)程間的數(shù)據(jù)共享的方法詳解
這篇文章詳解的發(fā)給大家介紹了Java中是如何保證多線(xiàn)程間的數(shù)據(jù)共享的,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-11-11