1. 程式人生 > >如何看待和學習基礎servlet???

如何看待和學習基礎servlet???

設定請求編碼request.setCharacterEncoding("UTF-8");
    要求請求方式是post      請求方式為get 上面設定編碼不行
    form表單提交,都要設定為method=”post”

get請求處理亂碼:
    String name = request.getParameter("name");
    name = new String(name.getBytes("ISO-8859-1"),"UTF-8");

獲取請求引數String name = request.getParameter("name");
注意:
如果引數“name” 前臺發請求有引數,沒有賦值, 得到的是””
如果引數“nama”前臺發請求沒有引數,得到是null


當一個引數名,多個值
String[] aihao = request.getParameterValues("aihao");
    
    
請求轉發和重定向:

請求轉發:指一個web資源收到客戶端請求後,通知伺服器去呼叫另外一個web資源進行處理。

通過request物件提供的getRequestDispatche(String path)方法,該方法返回一個RequestDispatcher物件,呼叫這個物件的forward(request,response)方法可以實現請求轉發。

請求重定向:指一個web資源收到客戶端請求後,通知瀏覽器重新請求另一個web資源。
response.sendRedirect(String path)方法實現重定向


請求重定向和請求轉發的區別:


一個web資源收到客戶端請求後,通知伺服器去呼叫另外一個web資源進行處理,稱之為請求轉發/307。
一個web資源收到客戶端請求後,通知瀏覽器去訪問另外一個web資源進行處理,稱之為請求重定向/302。

區別:
請求轉發路徑不會變為轉發之後的     重定向會變為最後定向的路徑
請求轉發可以攜帶轉發之前request儲存的資料,重定向會丟失
請求轉發只能在本應用內路徑之間跳轉    重定向可以跨域


ServletContext:

WEB容器在啟動時,它會為WEB應用程式建立一個對應的ServletContext物件,它代表當前web應用。ServletConfig物件中維護了ServletContext物件的引用,開發人員在編寫servlet時,可以通過ServletConfig.getServletContext()方法獲得ServletContext物件。


Cookie:


Cookie是客戶端技術,程式把每個使用者的資料以cookie的形式寫給使用者各自的瀏覽器。當用戶使用瀏覽器再去訪問伺服器中的web資源時,就會帶著各自的資料去。這樣,web資源處理的就是使用者各自的資料了。

response介面也中定義了一個addCookie方法,它用於在其響應頭中增加一個相應的Set-Cookie頭欄位。
request介面中也定義了一個getCookies方法,它用於獲取客戶端提交的Cookie。


cookie中存取中文:

要想在cookie中儲存中文,那麼必須使用URLEncoder類裡面的encode(String s, String enc)方法進行中文轉碼,例如:

    Cookie cookie = new Cookie("userName", URLEncoder.encode("優眾", "UTF-8"));
     response.addCookie(cookie);

在獲取cookie中的中文資料時,再使用URLDecoder類裡面的decode(String s, String enc)進行解碼,例如:

    URLDecoder.decode(cookies[i].getValue(), "UTF-8")



Cookie注意細節:

一個Cookie只能標識一種資訊,它至少含有一個標識該資訊的名稱(NAME)和設定值(VALUE)。
一個WEB站點可以給一個WEB瀏覽器傳送多個Cookie,一個WEB瀏覽器也可以儲存多個WEB站點提供的Cookie。
瀏覽器一般只允許存放300個Cookie,每個站點最多存放20個Cookie,每個Cookie的大小限制為4KB。
如果建立了一個cookie,並將他傳送到瀏覽器,預設情況下它是一個會話級別的cookie(即儲存在瀏覽器的記憶體中),使用者退出瀏覽器之後即被刪除。若希望瀏覽器將該cookie儲存在磁碟上,則需要使用maxAge,並給出一個以秒為單位的時間。將最大時效設為0則是命令瀏覽器刪除該cookie。


Session:

Session是伺服器端技術,利用這個技術,伺服器在執行時可以為每一個使用者的瀏覽器建立一個其獨享的session物件,由於session為使用者瀏覽器獨享,所以使用者在訪問伺服器的web資源時,可以把各自的資料放在各自的session中,當用戶再去訪問伺服器中的其它web資源時,其它web資源再從使用者各自的session中取出資料為使用者服務。

session實現原理
伺服器建立session出來後,會把session的id號,以cookie的形式回寫給客戶機,這樣,只要客戶機的瀏覽器不關,再去訪問伺服器時,都會帶著session的id號去,伺服器發現客戶機瀏覽器帶session id過來了,就會使用記憶體中與之對應的session為之服務。

相關推薦

如何看待學習基礎servlet???

設定請求編碼request.setCharacterEncoding("UTF-8");     要求請求方式是post      請求方式為get 上面設定編碼不行     form表單提交,都要設定為method=”post”get請求處理亂碼:     String name = request.get

[學習筆記] CS131 Computer Vision: Foundations and Applications:Lecture 2 顏色數學基礎

rgb 數學 histogram val 顏色 models hist nor 學習 大綱 what is color? The result of interaction between physical light in the environment

[Python]學習基礎篇:文件目錄

python中文件的那點事文件文件是數據在外部介質上的數據的集合,對於文件在Linux系統上包括普通文件,目錄文件,二進制文件,設備文件等。文件的打開或者創建 方法:open(‘file_name’,’打開方式’[,buf_size]) buf_size:參數指的是文件緩存區的大小,0代表不緩存,1代表緩存,

20165231 預備作業二:學習基礎C語言基礎調查

oid clu 百度知道 保持 運行 建議 內聚 理解 加減乘除 微信文章感想 讀了婁老師微信公眾號中的文章,老師給我們的啟示首先就是要堅持,萬事開頭難,但是只要肯堅持就一定會有所成就,不管是學習還是生活方面。其中最有觸動的就是減肥了,是我三四年來一直難以完成的目標。如果可

20165303學習基礎C語言基礎調查

過程 度量 弱點 指針 計算 指針數組 數組指針 服務 發生 20165303學習基礎和C語言基礎調查 技能學習心得 我認為我的乒乓球打的還不錯,不能說非常好,但是基本的一些技巧都還是會的,小時候爸爸就非常愛看乒乓球比賽,有時候也帶著我一起看,最開始看的時候我發現激烈的比

20165339 學習基礎c語言基礎調查

指針函數 理論 引用 程序 可能 關系 知識點 比較 方法 讀中學讀後感 我認為給學生具體的, 能實踐的, 能馬上看到因果關系的教材和練習, 是激發學生興趣, 好奇心, 求知欲的好方法。 我就是這樣學習編程和軟件開發的。 所以我對「習而學」的方法很有好感。軟件工程有理論的

20165220 學習基礎C語言基礎調查

函數指針 void 內心 迷茫 開始 學習 模板 我們 scanf # # # # 我覺得我打遊戲(不知道算不算一技之長)畢竟從小學一年級就接觸到了各種形形色色的遊戲,講道理其實我的遊戲天賦畢竟還是很大的,從意識到感覺我覺得都比大多數人好一些,其實吧打遊戲打得好也是很不容易

20165235 學習基礎C語言基礎調查

mys 文本文 cnblogs 教材 getchar eof 學習 都是 file 20165235 學習基礎和C語言基礎調查 首先第一個問題:你有什麽技能比大多人(超過90%以上)更好?感覺很難回答這種問題,其實我對很多東西挺感興趣的,如果非要拿出一種比較突出的技能的話

20165218 學習基礎C語言基礎調查

結構 打印數組 打印 編程語言 緩沖 讓我 質變 存在 返回值 個人技能及閱讀心得 個人技能之繪畫 繪畫是我從很小便開始接觸的,從最初的簡筆畫到國畫、素描、水粉,大約也學了七八年。但是到了高中之後,就逐漸放下了。 記得當初學素描時,老師的一句話讓我記憶猶新,她說,畫素描

20165212 學習基礎C語言基礎調查

不足 代碼 編寫 是我 語句 解釋 靠譜 信息 main 學習基礎與C語言基礎調查 閱讀文章的心得體會 五篇文章都從不同角度闡述了毅力的重要性,打字、減肥、運動各方面,比如“每天一萬步”這個任務,人們通過建群聊互相監督、“打卡”的方式來實現堅持的目的,我認為這很愚蠢

20165310 學習基礎C語言基礎調查

直接 查找 而是 string 程序編寫 出錯 sys reader erb 學習基礎和C語言基礎調查 做中學體會 閱讀做中學之後,了解老師關於五筆練習、減肥、乒乓和背單詞的經歷,不禁聯想到自己學古箏的經歷。 成功的經驗 興趣 我其實小時候學過一段時間古箏,但是那時候是

20165318 預備作業二 學習基礎C語言基礎調查

第六章 post 教學 風雨無阻 但是 隨著 文本文件 快速 學習經驗 20165318 學習基礎和C語言基礎調查 技能學習經驗 我們這一代人,或多或少的都上過各種興趣班,舞蹈鋼琴畫畫書法,我也是如此。可這些技能中,唯一能拿的出手的就是舞蹈了。按照《優秀的教學方法---做教

學習基礎C語言基礎調查

求學 false pos 超過 只需要 多個 每天 通過 ber 學習基礎和C語言基礎調查 一、一種比大多數人(超過90%以上)更好的技能 說句實話,我還沒有那種特別特別自信的、說我能拿得出手的、所謂能超過百分之九十以上的人的技能。畢竟人外有人,天外有天。 姑且算上象棋吧,

20165323 學習基礎C語言基礎調查

每天 繪制 調用 gpo 重要 高質量 數組指針 平衡 是否 20165323 學習基礎和C語言基礎調查 一、技能學習心得 1、你有什麽技能比大多人更好? 我覺得我羽毛球打的還行,不能說打得比大多數人好,但是對於一些打羽毛球的要領還是掌握的。 2、針對這個技能的獲取你有什麽

20165210 學習基礎C語言基礎調查

內聚 div 數組的指針 item 是我 作業 .cn ref 進程 20165210 學習基礎和C語言基礎調查 一、技能學習過程和心得 讀了婁老師《做中學》自己還是深有感受的,對於運動、音樂、棋牌都會一點,我覺得做中學可以概括為三點:做,學,學做結合,所謂的做就是實踐,反

20165331 學習基礎C語言基礎調查

提高 logs scan 解決問題 {0} 想去 難度 trac 例子 學習基礎和C語言基礎調查 你有什麽技能比大多人(超過90%以上)更好? 看到題目,我陷入了迷茫:我到底有什麽方面可以做的比90%的人更好呢。思來想去,可能是動手能力這一方面吧。小時候我就很喜歡對玩具進行

20165329 學習基礎c語言調查

c語言 質變 技能 行動 類型 例子 敏感度 目前 多線程 學習基礎和c語言調查 一.你有什麽技能比大多人(超過90%以上)更好? 我覺得自己是一個很普普通通的一個人,如果說技能我覺得人外有人,相對我自己來說可能短時記憶能力稍強一些,尤其是對數字的敏感度。 二.針對這個技能

20165105 學習基礎C語言基礎調查

相似之處 課程 判斷 比較 得到 多個 col 寫代碼 ref 一、技能學習心得 1、你有什麽技能比大多人更好? 我覺得我的接受能力很快,大一下學期的體育課學遊泳時第一次下水掌握了漂浮,第三次下水掌握了仰泳,第七次下水學會了蛙泳換氣,期末體育課總評為98分;第一

20165307 學習基礎C語言基礎調查

log 存儲空間 數組a 數組 高內聚 二進制文件 學習效率 source 功能 學習基礎和c語言調查 你有什麽技能比大多數人好? 我覺得我足球掌握其中不少的技巧,我認為比大多數人要好。 針對這個技能的獲取你有什麽成功的經驗? 我認為這些技能都萬變不離其中,需要天賦和努力

20165327 學習基礎C語言基礎調查

方式 如何 好的 監視器 高程 斷點 是否 語言 下雨天 學習基礎和C語言基礎調查 一、關於技能 1. 你有什麽技能比大多人(超過90%以上)更好? 根據數據來看,應該是短跑(幾次測速50米平均時間6.5s),上學期的體測中短跑這項成績在班上排前面,我們這個年齡段算是體質較