j2me開發中由wap閘道器帶來的cookie問題
在之前的產品開發中,遇到乙個奇怪的問題,軟體在在cmnet下能正常工作,當用了cmwap時問題出來,後來問題找到了。在cmwap下,客戶端如果帶上cookie,有時會遇到無法正常登入等情況,下面簡單介紹其原因及解決辦法。
1、 cookie是如何工作?
一般來說,cookie通過http headers實現伺服器端與客戶端的互動。首先,伺服器端在響應中利用set-cookie header來建立乙個cookie ,然後,客戶端在它的請求中通過cookie header包含這個已經建立的cookie,並且返回至伺服器,從而完成瀏覽器的論證。
2、 cookie的作用
伺服器利用cookies包含資訊的任意性來篩選並經常性維護這些資訊,以判斷在http傳輸中的狀態。cookies最典型的應用是判定註冊用 戶是否已經登入**,使用者可能會得到提示,是否在下一次進入此**時保留使用者資訊以便簡化登入手續,這些都是cookies的作用,cookie很好地解 決了一些問題,但同時也帶來一些問題,如wap閘道器對cookie的處理問題。
3、 wap閘道器存在的問題
wap閘道器存在不少問題,其中之一如開發者最為頭疼的問題便是cookie的處理。由於不少低端手機瀏覽器本身不支援cookie,於是wap閘道器越俎代庖擔當起此重任--通過閘道器軟體使這些手機支援cookie,此僭越行為導致移動開發者無所適從,具體表現在:
a. 手機上清除cookie後仍有cookie
b. cookie會莫名其妙的丟失或者產生
c. 重複的cookie存在導致生成非法請求header
應該還有很多很細小的問題讓開發者頭疼,在網際網路上執行好好的機制移到wap上就會有這樣那樣的問題,這些問題更多集中在使用者登入、許可權控制等方面,問題如何解決呢?解決辦法是讓wap閘道器不儲存cookie,下面將講講在j2me中如何解決問題。
4、 j2me如何設定cookie與cookie問題處理
j2me設定cookie時,通過setrequestproperty 設定http頭資訊,**如下:
上面的**在直接連線互連網時沒問題,但在用cmwap連線互連網時卻會出現問題,我們以登入為例,有時cookies為空時也能正常登入,通過 測試發現wap閘道器儲存了cookie,為了解決這個問題,我們必須讓wap閘道器不儲存cookie,解決的辦法是在http頭加上:
hc. setrequestproperty("x-wap-proxy-cookie","none");
通過測試,問題解決了!
J2ME開發中由WAP閘道器帶來的cookie問題
j2me開發中由wap閘道器帶來的cookie問題 在之前的產品開發中,遇到乙個奇怪的問題,軟體在在cmnet下能正常工作,當用了cmwap時問題出來,後來問題找到了。在cmwap下,客戶端如果帶上cookie,有時會遇到無法正常登入等情況,下面簡單介紹其原因及解決辦法。1 cookie是如何工作?...
J2ME 開發工具
j2me wireless toolkit 手機廠商sdk wtk 的全稱是sun j2me wireless toolkit sun的無線開發工具包。這一工具包的設計目的是為了幫助開發人員簡化j2me的開發過程。該工具箱包含了完整的生成工具 實用程式以及裝置 器。a.wtk 2.2 目前各大手機廠...
J2ME中的分而治之
這兩天在研究j2me中setclip的用法.兩張切換時,如果是新的從內向外以矩形顯示,可以使用一次setclip設定繪製的矩形區域.但是,現在反回來,從外向內,以矩形框顯示,但是j2me裡面沒有這樣的方法,怎麼辦?有了,咱們給他來個分而治之,一次setclip不行,咱們可以分多次嘛.就現在的情況,可...