java web學(xué)習(xí)_淺談request對象中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.對比
•4.1 在輸出頁面按下F12查看
•5.分析
1.get與post的區(qū)別
Get和Post方法都是對服務(wù)器的請求方式,只是他們傳輸表單的方式不一樣。
下面我們就以傳輸一個(gè)表單的數(shù)據(jù)為例,來分析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類型 request.setCharacterEncoding("gbk");//設(shè)置請求的編碼格式 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("此人沒愛好!"); } }
注意: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.對比 4.1 在輸出頁面按下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對象中g(shù)et和post的差異就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java web Hibernate如何與數(shù)據(jù)庫鏈接
這篇文章主要介紹了Java web Hibernate如何與數(shù)據(jù)庫鏈接,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Spring Boot利用@Async異步調(diào)用:ThreadPoolTaskScheduler線程池的優(yōu)雅關(guān)閉詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot利用@Async異步調(diào)用:ThreadPoolTaskScheduler線程池的優(yōu)雅關(guān)閉的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05idea上提交項(xiàng)目到gitee 最后出現(xiàn) Push rejected的問題處理方法
這篇文章主要介紹了idea上面提交項(xiàng)目到gitee 最后出現(xiàn) Push rejected的問題處理方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09java 開發(fā)中網(wǎng)絡(luò)編程之IP、URL詳解及實(shí)例代碼
這篇文章主要介紹了java 開發(fā)中網(wǎng)絡(luò)編程之IP、URL詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03SpringBoot集成Kaptcha驗(yàn)證碼的詳細(xì)過程
Kaptcha是一個(gè)強(qiáng)大而靈活的Java驗(yàn)證碼生成庫,通過合理的配置和使用,它可以有效地提高web應(yīng)用的安全性,防止自動(dòng)化程序的濫用,這篇文章主要介紹了SpringBoot集成Kaptcha驗(yàn)證碼,需要的朋友可以參考下2024-07-07Java時(shí)間類Date類和Calendar類的使用詳解
這篇文章主要介紹了Java時(shí)間類Date類和Calendar類的使用詳解,需要的朋友可以參考下2017-08-08spring boot在啟動(dòng)項(xiàng)目之后執(zhí)行的實(shí)現(xiàn)方法
在開發(fā)時(shí)有時(shí)候需要在整個(gè)應(yīng)用開始運(yùn)行時(shí)執(zhí)行一些特定代碼,比如初始化環(huán)境,下面這篇文章就來給大家介紹了關(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ā)編程示例(一):線程的創(chuàng)建和執(zhí)行
這篇文章主要介紹了Java并發(fā)編程示例(一):線程的創(chuàng)建和執(zhí)行,本文是系列文章的第一篇,需要的朋友可以參考下2014-12-12Java中保證多線程間的數(shù)據(jù)共享的方法詳解
這篇文章詳解的發(fā)給大家介紹了Java中是如何保證多線程間的數(shù)據(jù)共享的,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-11-11