??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品系列在线,欧美成人精品一区二区三区,色综合久久综合网http://www.aygfsteel.com/jzone/category/40152.html从业互联|、期盼物联网·· 不断的努力、追求,{待时机Q相信该来的l究是会来的zh-cnMon, 08 Nov 2010 08:50:24 GMTMon, 08 Nov 2010 08:50:24 GMT60WAP1.0 前端开发经验(原创-JSPQ?/title><link>http://www.aygfsteel.com/jzone/articles/337273.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Thu, 04 Nov 2010 15:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/jzone/articles/337273.html</guid><wfw:comment>http://www.aygfsteel.com/jzone/comments/337273.html</wfw:comment><comments>http://www.aygfsteel.com/jzone/articles/337273.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jzone/comments/commentRss/337273.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jzone/services/trackbacks/337273.html</trackback:ping><description><![CDATA[  <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">在看q些l验ȝ之前Q我强烈的徏议无U开发h员及产品人员熟读</span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">的规范,手册地址Q?/span></p> <p style="text-indent: 21pt"><span style="font-family: 'Courier New'"><a >http://www.w3cschool.cn/index-18.asp.htm</a> </span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">Ҏ我们长时间开发的U篏Q我们在使用q程中确实遇到的一些问题,通过q些U篏Q得我们找到移动互联网开发的一些规律:</span></p> <p>1<span style="font-family: 微Y雅黑">、我可以在屏q上昄几行信息Q?/span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">事实上,ҎC多行没有特别限制Q只要不过面板的最大尺寸就行(随设备的不同而不同)。然而,Z避免太多滚屏Q每屏(卛_片)</span><span style="font-family: 'Courier New'">5 </span><span style="font-family: 微Y雅黑">?/span><span style="font-family: 'Courier New'"> 7 </span><span style="font-family: 微Y雅黑">行最佟?/span><span style="font-family: 微Y雅黑">当然屏不要太多,</span><span style="font-family: 'Courier New'">3-4</span><span style="font-family: 微Y雅黑">屏ؓ极限Q因虑到目前市Z很多的山寨手机对</span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">面大小支持的不好?/span></p> <p>2<span style="font-family: 微Y雅黑">、我们应该权?/span>GET/POST<span style="font-family: 微Y雅黑">哪些问题Q?/span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">在实际开发中Q确实遇C些电话不支持使用</span><span style="font-family: 'Courier New'"> POST </span><span style="font-family: 微Y雅黑">Ҏ发送表单数据,q种情况Q我们确实没有办法去做兼容了。因为在实际开发中Q有些数据我们必要为用户保密,例如用户名和密码必须通过</span><span style="font-family: 'Courier New'"> POST </span><span style="font-family: 微Y雅黑">Ҏ发送?/span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">?/span><span style="font-family: 'Courier New'"> WAP </span><span style="font-family: 微Y雅黑">|关上,如果日志功能被激zdƈ且请求已被记录,理员就有能看到用户名和密码。如果网x?/span><span style="font-family: 'Courier New'"> ISP </span><span style="font-family: 微Y雅黑">或其它第三方提供的,q个问题׃特别H出?/span></p> <p style="text-indent: 21pt"><em><span style="font-family: 微Y雅黑">即一个安全的q接也不能完全消除安全隐患。那些发送到</span></em><em><span style="font-family: 'Courier New'"> WAP </span></em><em><span style="font-family: 微Y雅黑">|关的数据?/span></em><em><span style="font-family: 'Courier New'"> WTLS</span></em><em><span style="font-family: 微Y雅黑">Q?/span></em><em><span style="font-family: 'Courier New'">Wireless Transport Layer Security</span></em><em><span style="font-family: 微Y雅黑">Q加密,它用与标准</span></em><em><span style="font-family: 'Courier New'"> TLS </span></em><em><span style="font-family: 微Y雅黑">相同的算法。然而,发送到</span></em><em><span style="font-family: 'Courier New'"> WAP </span></em><em><span style="font-family: 微Y雅黑">|关的数据是二进制的~码格式Q对</span></em><em><span style="font-family: 'Courier New'"> WAP</span></em><em><span style="font-family: 微Y雅黑">Q,所以这些加密后的数据必ȝ</span></em><em><span style="font-family: 'Courier New'"> TLS </span></em><em><span style="font-family: 微Y雅黑">解密和再加密以适用于因特网。经q一D|间以后,敏感数据?/span></em><em><span style="font-family: 'Courier New'"> WAP </span></em><em><span style="font-family: 微Y雅黑">|关上以明文的Ş式出现。黑客则会在适当的时刻,内存中的信息{储出来,q而成功地讉Kq些敏感数据?/span></em></p> <p style="text-indent: 21pt"><em><span style="font-family: 微Y雅黑">按照注释Q解册问题的一U办法是在自己公司(而不是在</span></em><em><span style="font-family: 'Courier New'"> ISP</span></em><em><span style="font-family: 微Y雅黑">Q设一?/span></em><em><span style="font-family: 'Courier New'"> WAP </span></em><em><span style="font-family: 微Y雅黑">|关。在q种情况下,一个可信的人可以操作网养Iq且可以关闭日志功能?/span></em></p> <p style="text-indent: 21pt"><em><span style="font-family: 微Y雅黑">您也可以?/span></em><em><span style="font-family: 'Courier New'"> WMLScript </span></em><em><span style="font-family: 微Y雅黑">来编写自定义的加密算法,以对客户端的用户名和密码q行加密。这只有在用简单的法时才有可能实玎ͼ在支?/span></em><em><span style="font-family: 'Courier New'"> DES </span></em><em><span style="font-family: 微Y雅黑">cȝ法上,</span></em><em><span style="font-family: 'Courier New'">WMLScript </span></em><em><span style="font-family: 微Y雅黑">不够强大。虽然有q么多的虑?/span></em></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">我们在实际的开发中选择的依焉选的?/span><span style="font-family: 'Courier New'">GET</span><span style="font-family: 微Y雅黑">。我们徏议?/span><span style="font-family: 'Courier New'">GET</span><span style="font-family: 微Y雅黑">方式提交参数Q是考虑?/span><span style="font-family: 'Courier New'">URL</span><span style="font-family: 微Y雅黑">可移植、保证参数完_但是同时我们Z保密、限长度可以在合适的地方Q用户保密数据、参数可能出现过长)应用</span><span style="font-family: 'Courier New'">POST</span><span style="font-family: 微Y雅黑">?/span></p> <p>3<span style="font-family: 微Y雅黑">、我怎样保持</span> Session<span style="font-family: 微Y雅黑">Q?/span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">我们再做M一个模块设计的时候都不要假设手机l端都支?/span><span style="font-family: 'Courier New'">cookie(</span><span style="font-family: 微Y雅黑">虽然部分手机支持</span><span style="font-family: 'Courier New'">cookie</span><span style="font-family: 微Y雅黑">Q但不能保证用户都开?/span><span style="font-family: 'Courier New'">cookie)</span><span style="font-family: 微Y雅黑">。这P当用户在您的站点的不同页面之间穿梭时Qؓ了在服务器端保留关于客户端的信息Q在向服务器发送每个请求的同时Q一?/span><span style="font-family: 'Courier New'"> Session ID </span><span style="font-family: 微Y雅黑">必须被当作参C递?/span><span style="font-family: 'Courier New'">Session ID </span><span style="font-family: 微Y雅黑">的参数名Ҏ</span><span style="font-family: 'Courier New'"> Servlet </span><span style="font-family: 微Y雅黑">引擎的不同而不同?/span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">有时Q缺省的</span><span style="font-family: 'Courier New'"> Session ID </span><span style="font-family: 微Y雅黑">长度很大q度地增加了每个h的长度。结果导致客L?/span><span style="font-family: 'Courier New'"> WAP </span><span style="font-family: 微Y雅黑">|关可能此h看作一个无效的</span><span style="font-family: 'Courier New'"> URL </span><span style="font-family: 微Y雅黑">而拒l。这h必要~短</span><span style="font-family: 'Courier New'"> Session ID </span><span style="font-family: 微Y雅黑">的长度。可自定义一些所?/span><span style="font-family: 'Courier New'">sessionID</span><span style="font-family: 微Y雅黑">长度的方案?/span></p> <p>4<span style="font-family: 微Y雅黑">?/span>Select <span style="font-family: 微Y雅黑">框参数的提交Q?/span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">因ؓ</span><span style="font-family: 'Courier New'">WAP</span><span style="font-family: 微Y雅黑">览器的陋、多而杂Q在不同的浏览器里,</span><span style="font-family: 'Courier New'">select</span><span style="font-family: 微Y雅黑">提交被截L参数g是不同的Q如?/span><span style="font-family: 'Courier New'">select</span><span style="font-family: 微Y雅黑">中,你选中?/span><span style="font-family: 'Courier New'">1/2/3</span><span style="font-family: 微Y雅黑">提交后,截取的|可能?/span><span style="font-family: 'Courier New'">1,2,3</span><span style="font-family: 微Y雅黑">Q也可能?/span><span style="font-family: 'Courier New'">1</span><span style="font-family: 微Y雅黑">Q?/span><span style="font-family: 'Courier New'">2</span><span style="font-family: 微Y雅黑">Q?/span><span style="font-family: 'Courier New'">3</span><span style="font-family: 微Y雅黑">?/span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">q点?/span><span style="font-family: 'Courier New'">WEB</span><span style="font-family: 微Y雅黑">上有些许差异Q请大家多注?/span></p> <p>5<span style="font-family: 微Y雅黑">、参数简单化Q?/span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">在开发过E中Q我们经常是Z面参数提交的简单,即ؓ了减参数的提交个数Q我们喜Ƣ在</span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">面对一些参数进行拼装。如下:</span></p> <p><span style="font-family: 'Courier New'"><postfield name="content" value="$(bwBall)~$(swBall)~$(gwBall)"/></span><span style="font-family: 微Y雅黑">Q实际操作中Q我们应该避免这L参数DQ仅在</span><span style="font-family: 'Courier New'">WAP1.1</span><span style="font-family: 微Y雅黑">之后实支持一些分割符的分?/span></p> <p>6<span style="font-family: 微Y雅黑">、编码问题同h个诟病?</span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">无论我们?/span><span style="font-family: 'Courier New'">J2EE/J2SE</span><span style="font-family: 微Y雅黑">开发过E中Q都会遇到编码的问题Q不同的?/span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">中遇到的~码问题大多数ƈ不是我们服务端导致的Q手机厂商对~码没有固定的设|,很多用户不会d心手机的~码Q在参数提交时如果带有中文参敎ͼ在参数接收时Q就需要对参数q行处理Q因为客L提交q来的可以是</span><span style="font-family: 'Courier New'">ASCII</span><span style="font-family: 微Y雅黑">?/span></p> <p>7<span style="font-family: 微Y雅黑">?#8220;内部服务器错?#8221;Q?/span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">如果?/span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">开发你没遇到过q类错误Q那你绝对不是一个称职的开发。在手机中报q类错误Q基本上都属于功能机Q对应的</span><span style="font-family: 'Courier New'"> response code </span><span style="font-family: 微Y雅黑">?/span><span style="font-family: 'Courier New'">500</span><span style="font-family: 微Y雅黑">?/span></p> <p>8<span style="font-family: 微Y雅黑">?/span>WML<span style="font-family: 微Y雅黑">面对图片的支持度?</span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">?/span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">面里,囄是不被徏议的Q如果非要用的话,h意图片不要多?/span><span style="font-family: 'Courier New'">5</span><span style="font-family: 微Y雅黑">张,囄最好要l过处理Q越越好。另外图片的格式最好是</span><span style="font-family: 'Courier New'">PNG</span><span style="font-family: 微Y雅黑">Q如果有条g的话</span><span style="font-family: 'Courier New'">PNG</span><span style="font-family: 微Y雅黑">?/span><span style="font-family: 'Courier New'">GIF</span><span style="font-family: 微Y雅黑">?/span><span style="font-family: 'Courier New'">JPG</span><span style="font-family: 微Y雅黑">最好都备上?/span></p> <p>9<span style="font-family: 微Y雅黑">、{义字W的使用Q?/span></p> <p><span style="font-family: 微Y雅黑">?/span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">中,?/span><span style="font-family: 'Courier New'">HDML</span><span style="font-family: 微Y雅黑">一P多个q箋的空格只昄一个空|?/span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">中,一定要注意使用转义字符Q如Q?/span></p> <p><span style="font-family: 'Courier New'"><      -----      &lt;</span></p> <p><span style="font-family: 'Courier New'">>      -----      &gt;</span></p> <p><span style="font-family: 微Y雅黑">‘</span><span style="font-family: 'Courier New'">      -----      &apos;</span></p> <p><span style="font-family: 微Y雅黑">“</span><span style="font-family: 'Courier New'">      -----      &quot;</span></p> <p><span style="font-family: 'Courier New'">&      -----      &amp;</span></p> <p><span style="font-family: 'Courier New'">$      -----      $$</span></p> <p><span style="font-family: 微Y雅黑">I格</span><span style="font-family: 'Courier New'">    -----      &nbsp;</span></p> <p><span style="font-family: 'Courier New'">-      -----      &shy;</span></p> <p><span style="font-family: 微Y雅黑">特别是在</span><span style="font-family: 'Courier New'">URL</span><span style="font-family: 微Y雅黑">参数传递过E中Q源码中</span><span style="font-family: 'Courier New'">&</span><span style="font-family: 微Y雅黑">必须写成</span><span style="font-family: 'Courier New'">&amp</span><span style="font-family: 'Courier New'">;</span></p> <p>10<span style="font-family: 微Y雅黑">、一个标准的</span>crad<span style="font-family: 微Y雅黑">Q?/span></p> <p><span style="font-family: 'Courier New'">card</span><span style="font-family: 微Y雅黑">?/span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">的单元,由此Q我们可以知道一?/span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">面可以有多?/span><span style="font-family: 'Courier New'">card</span><span style="font-family: 微Y雅黑">Q静态文字预加蝲推荐使用Q?/span></p> <p><span style="font-family: 微Y雅黑">如下是一?/span><span style="font-family: 'Courier New'">WML</span><span style="font-family: 微Y雅黑">最基本的元素:</span></p> <p><span style="font-family: 'Courier New'"><?xml version="1.0" encoding="UTF-8"?></span></p> <p><span style="font-family: 'Courier New'"><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" </span></p> <p style="margin-left: 147pt; text-indent: 21pt"><span style="font-family: 'Courier New'">"http://www.wapforum.org/DTD/wml_1.1.xml"></span></p> <p><span style="font-family: 'Courier New'"><wml> </span></p> <p><span style="font-family: 'Courier New'">    <head></span></p> <p><span style="font-family: 'Courier New'">       <meta forua="true" http-equiv="Cache-Control" content="max-age=0"/></span></p> <p><span style="font-family: 'Courier New'">       <meta forua="true" http-equiv="Cache-Control" content="no-cache"/></span></p> <p><span style="font-family: 'Courier New'">    </head> </span></p> <p><span style="font-family: 'Courier New'">    <card id="index" title="</span><span style="font-family: 微Y雅黑">爱彩?/span><span style="font-family: 'Courier New'">"></span></p> <p><span style="font-family: 'Courier New'">       <p></span><span style="font-family: 微Y雅黑">内容</span><span style="font-family: 'Courier New'"></p></span></p> <p><span style="font-family: 'Courier New'">    </card></span></p> <p><span style="font-family: 'Courier New'"></wml></span></p> <p>11<span style="font-family: 微Y雅黑">、关?/span>WML<span style="font-family: 微Y雅黑">面的表单参数提?/span><anchor><span style="font-family: 微Y雅黑">Q?/span></p> <p><span style="font-family: 微Y雅黑">有一个标准的表单提交的实例:</span></p> <p><span style="font-family: 微Y雅黑">源码Q?/span></p> <p><span style="font-family: 'Courier New'"><img src="http://wap.baidu.com/logo.gif" alt="Baidu"/></span></p> <p><span style="font-family: 'Courier New'"><input name="word" size="4"/><br/></span></p> <p><span style="font-family: 'Courier New'"><anchor></span></p> <p><span style="font-family: 'Courier New'">搜网页</span></p> <p><span style="font-family: 'Courier New'"><go method="get"></span></p> <p><span style="font-family: 'Courier New'"><postfield name="word" value="$(word)"/></span></p> <p><span style="font-family: 'Courier New'"><postfield name="tn" value="wisewml"/></span></p> <p><span style="font-family: 'Courier New'"><postfield name="rn" value="5"/></span></p> <p><span style="font-family: 'Courier New'"><postfield name="ie" value="unicode"/></span></p> <p><span style="font-family: 'Courier New'"><postfield name="cl" value="2"/></span></p> <p><span style="font-family: 'Courier New'"><postfield name="vit" value="uni"/></span></p> <p><span style="font-family: 'Courier New'"><postfield name="from" value="578b_w1"/></span></p> <p><span style="font-family: 'Courier New'"></go></span></p> <p><span style="font-family: 'Courier New'"></anchor>|</span></p> <p><span style="font-family: 'Courier New'"><anchor></span></p> <p><span style="font-family: 'Courier New'">进贴吧</span></p> <p><span style="font-family: 'Courier New'"><go method="get"></span></p> <p><span style="font-family: 'Courier New'"><postfield name="kw" value="$(word)"/></span></p> <p><span style="font-family: 'Courier New'"><postfield name="from" value="578b_w2"/></span></p> <p><span style="font-family: 'Courier New'"><postfield name="inb" value="1"/></span></p> <p><span style="font-family: 'Courier New'"></go></span></p> <p><span style="font-family: 'Courier New'"></anchor></span></p> <p><span style="font-family: 微Y雅黑">在这里有个很好的体现Q提交文字所在的位置Q这个问题,针对部分手Z有差异(会生页面解析失败的情况Q。我们最好的习惯是将提交文字写在</span><span style="font-family: 'Courier New'"><anchor></span><span style="font-family: 微Y雅黑">?/span><span style="font-family: 'Courier New'"><go href=”” method=”get”></span><span style="font-family: 微Y雅黑">之间?/span></p> <p>12<span style="font-family: 微Y雅黑">?/span>WAP<span style="font-family: 微Y雅黑">如何保证表现层可l护性?</span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">q可能是最可怕的事情了,׃</span><span style="font-family: 'Courier New'">WAP</span><span style="font-family: 微Y雅黑">业务的特D性,合作推广相对</span><span style="font-family: 'Courier New'">WAP</span><span style="font-family: 微Y雅黑">较频J,如果pȝ开发h员没有一个好的思想Q好的编E习惯,喜欢代码粘来粘去(特别是页面代码)Q时间长了,q将l系l带来毁灭性的l局?/span></p> <p>13<span style="font-family: 微Y雅黑">、低端机?/span>WML<span style="font-family: 微Y雅黑">标签的支持?</span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">Udl端Q大家要清楚的就是这是个以简zؓȝ地盘Q无Z业务上还是从技术上Q?/span><span style="font-family: 'Courier New'">WEB</span><span style="font-family: 微Y雅黑">人员都喜Ƣ将</span><span style="font-family: 'Courier New'">WEB</span><span style="font-family: 微Y雅黑">的一套模式照搬到</span><span style="font-family: 'Courier New'">WAP</span><span style="font-family: 微Y雅黑">中来Q如果你真的那样做的话,我要告诉你,你会ȝ很惨Q很?/span><span style="font-family: 'Courier New'">WEB</span><span style="font-family: 微Y雅黑">上的业务是跟</span><span style="font-family: 'Courier New'">WAP</span><span style="font-family: 微Y雅黑">的用L的截然不同的Q那么从技术上来说Q也是不能通用的?/span></p> <p><span style="font-family: 微Y雅黑">特别是低端机Q很多好的效果,好的模式都是不支持的Q所以说q是个简单的q_?/span></p> <p><span style="font-family: 微Y雅黑">举例Q在</span><span style="font-family: 'Courier New'">html</span><span style="font-family: 微Y雅黑">面我们会用各种颜色Q各U字体,x设法的让展示更炫Q?/span><span style="font-family: 'Courier New'">WAP</span><span style="font-family: 微Y雅黑">行不通的Q如下标{ְ不能通过</span><span style="font-family: 'Courier New'">---</span><span style="font-family: 微Y雅黑">一般手Z报:<strong>内容格式错误</strong></span></p> <p><span style="font-family: 'Courier New'"><b></span><span style="font-family: 微Y雅黑">_体</span><span style="font-family: 'Courier New'"></b>                         ---------</span><span style="font-family: 微Y雅黑">低端Z支持</span></p> <p><span style="font-family: 'Courier New'"><i></span><span style="font-family: 微Y雅黑">斜体</span><span style="font-family: 'Courier New'"></i>                         ---------</span><span style="font-family: 微Y雅黑">低端Z支持</span></p> <p><span style="font-family: 'Courier New'"><img alt="pic" src="" />        ---------</span><span style="font-family: 微Y雅黑">在?/span><span style="font-family: 'Courier New'">img</span><span style="font-family: 微Y雅黑">标签Ӟ</span><span style="font-family: 'Courier New'">alt</span><span style="font-family: 微Y雅黑">标签必填</span></p> <p><span style="font-family: 微Y雅黑">如果你想你的应用以展Cؓ主,那么有些丰富面的标{你可以试一下,如果你的q_是电子商务,那么我奉劝品及开发h员,q些标签你还是离它们q点?/span></p> <p>14<span style="font-family: 微Y雅黑">、如何去?/span>WAP<span style="font-family: 微Y雅黑">面输入框缓存?</span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">?/span><span style="font-family: 'Courier New'">WAP</span><span style="font-family: 微Y雅黑">面输入框的~存是让用户感到很头疼的东西Q很多时候我们第二次讉K同一个输入框是想重新输入值的Q结果页面响应给我们的框里却遗留了上一ơ输入的倹{还需要手动的删除上一ơ数据再重新输入数据。从q个操作上来说让用户体验很不畅Q或者说l用户用带来了d?/span></p> <p><span style="font-family: 'Courier New'">    </span><span style="font-family: 微Y雅黑">Z规避q种输入框缓存,我们可以利用随机敎ͼ如参?/span><span style="font-family: 'Courier New'">param</span><span style="font-family: 微Y雅黑">我们可以写成</span><span style="font-family: 'Courier New'"> param + random</span></p> <p>15<span style="font-family: 微Y雅黑">、部分手机对下拉框的支持度?</span></p> <p style="text-indent: 21pt"><span style="font-family: 微Y雅黑">在开发过E中Q我们遇C些奇怪的问题Q在</span><span style="font-family: 'Courier New'">WAP1.0</span><span style="font-family: 微Y雅黑">的手机里Q有些低端的手机不支持下拉框的定号选择。如Q?/span></p> <p style="margin-left: 21pt; text-indent: 21pt; text-align: left" align="left"><span style="color: teal; font-family: 'Courier New'"><</span><span style="background: silver; color: #3f7f7f; font-family: 'Courier New'">select</span><span style="font-family: 'Courier New'"> <span style="color: #7f007f">name</span><span style="color: black">=</span><em><span style="color: #2a00ff">'params'</span></em><span style="color: teal">></span></span></p> <p style="text-align: left" align="left"><span style="color: black; font-family: 'Courier New'">           </span><span style="color: teal; font-family: 'Courier New'"><</span><span style="color: #3f7f7f; font-family: 'Courier New'">option</span><span style="font-family: 'Courier New'"> <span style="color: #7f007f">value</span><span style="color: black">=</span><em><span style="color: #2a00ff">'1'</span></em><span style="color: teal">></span><span style="color: black">value1</span><span style="color: teal"></</span><span style="color: #3f7f7f">option</span><span style="color: teal">></span></span></p> <p style="text-align: left" align="left"><span style="color: black; font-family: 'Courier New'">           </span><span style="color: teal; font-family: 'Courier New'"><</span><span style="color: #3f7f7f; font-family: 'Courier New'">option</span><span style="font-family: 'Courier New'"> <span style="color: #7f007f">value</span><span style="color: black">=</span><em><span style="color: #2a00ff">'3'</span></em><span style="color: teal">></span><span style="color: black">value3</span><span style="color: teal"></</span><span style="color: #3f7f7f">option</span><span style="color: teal">></span></span></p> <p style="text-align: left" align="left"><span style="color: black; font-family: 'Courier New'">           </span><span style="color: teal; font-family: 'Courier New'"><</span><span style="color: #3f7f7f; font-family: 'Courier New'">option</span><span style="font-family: 'Courier New'"> <span style="color: #7f007f">value</span><span style="color: black">=</span><em><span style="color: #2a00ff">'5'</span></em><span style="color: teal">></span><span style="color: black">value5</span><span style="color: teal"></</span><span style="color: #3f7f7f">option</span><span style="color: teal">></span></span></p> <p style="text-align: left" align="left"><span style="color: black; font-family: 'Courier New'">           </span><span style="color: teal; font-family: 'Courier New'"><</span><span style="color: #3f7f7f; font-family: 'Courier New'">option</span><span style="font-family: 'Courier New'"> <span style="color: #7f007f">value</span><span style="color: black">=</span><em><span style="color: #2a00ff">'7'</span></em><span style="color: teal">></span><span style="color: black">value7</span><span style="color: teal"></</span><span style="color: #3f7f7f">option</span><span style="color: teal">></span></span></p> <p style="text-align: left" align="left"><span style="color: black; font-family: 'Courier New'">           </span><span style="color: teal; font-family: 'Courier New'"><</span><span style="color: #3f7f7f; font-family: 'Courier New'">option</span><span style="font-family: 'Courier New'"> <span style="color: #7f007f">value</span><span style="color: black">=</span><em><span style="color: #2a00ff">'9'</span></em><span style="color: teal">></span><span style="color: black">value9</span><span style="color: teal"></</span><span style="color: #3f7f7f">option</span><span style="color: teal">></span></span></p> <p><span style="color: black; font-family: 'Courier New'">       </span><span style="color: teal; font-family: 'Courier New'"></</span><span style="background: silver; color: #3f7f7f; font-family: 'Courier New'">select</span><span style="color: teal; font-family: 'Courier New'">><</span><span style="color: #3f7f7f; font-family: 'Courier New'">br</span><span style="color: teal; font-family: 'Courier New'">/></span></p> <p><span style="color: black; font-family: 微Y雅黑">原本我们是希望用户选择的是3Q则我们接受到的也是3Q可是不q的是,我们接收到的?Q通过多次的查日志验证Q确实有q样的情况存在,卻I该类型的手机下拉框全部是按照升序的D行传递的。那么在我们q个事例的值就是,0,1,2,3,4而不?,3,5,7,9?/span></p> <p>16<span style="font-family: 微Y雅黑">、部分手机对复选框的支持?</span></p> <p style="text-indent: 21pt"><span style="color: black; font-family: 微Y雅黑">q个Ҏ需要品设计h员注意了Q在产品设计的时候尽量避免这些复选的出现。因为在出现复选框的时候,部分手机是会默认全选的Q如MOTO手机Q?/span></p> <img src ="http://www.aygfsteel.com/jzone/aggbug/337273.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jzone/" target="_blank">Gavin.lee</a> 2010-11-04 23:44 <a href="http://www.aygfsteel.com/jzone/articles/337273.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>让你的PC也能讉K手机腾讯|?/title><link>http://www.aygfsteel.com/jzone/articles/337244.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Thu, 04 Nov 2010 07:58:00 GMT</pubDate><guid>http://www.aygfsteel.com/jzone/articles/337244.html</guid><wfw:comment>http://www.aygfsteel.com/jzone/comments/337244.html</wfw:comment><comments>http://www.aygfsteel.com/jzone/articles/337244.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jzone/comments/commentRss/337244.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jzone/services/trackbacks/337244.html</trackback:ping><description><![CDATA[<p style="font-family: 微Y雅黑">以前qq的ҎQ时间长了不使用容易忘掉,觉得写下来还是有必要的,以备查用?br /> <br /> 手机腾讯|一般用PC览器不能访问的是因为程序对览器的UAq行判断qoQ知道这个原理后Q我来l我们的UA刉假象,都说了,大活人难道还能被屎尿憋死?br /> <br /> 以下做法Q一般用户一般没q个需求吧Q呵呵~~<br /> 因ؓ工作需要,l常要看各大门户的WAP站,可是QQ手机腾讯|在PC上又无法讉KQ无奈用手机Q那你就OUT了,下面介绍个用Firefox讉K手机腾讯|的办法Q?br /> <br /> 1、网上搜索插Ӟwmlbrowser + user-agent-switcher<br />     下到q两个插件后Q直接将插g拖到FF面OK<br />     wmlbrowserQ?a >https://addons.mozilla.org/zh-CN/firefox/addon/62/</a> <br />     user-agent-switcherQ?a >https://addons.mozilla.org/zh-CN/firefox/addon/59/</a>   <br /> 2、扩展user-agent<br />     安装完wmlbrowser插g后,你的FF可以访问一般的WAP站了Q不q手讯网q是不能讉KQ这时候user-agentz上用场了,“工具-default user agent” 切换到iphone或者其他,然后你再试试QOL·· :-)<br />     如果你嫌q些UA不够多,或者你x其他的UAQ自己可以编辑,或者直接导入UAQ同L上搜索user-agents-fisio.cn.xmlQ下载到q个xml后,可以直接在FF中导入,然后OK了,你想换什么UA换什么UA<br /> 3、完成后Q重启你的FFQ畅游手讯网吧?br /> <br /> Z谴责一下腾讯,q段旉腾讯跟奇?60口水架吵的比较猛Q做Z个互联网的老大Q应该拿大的气?-- <a >@爱彩生z?/a></p><img src ="http://www.aygfsteel.com/jzone/aggbug/337244.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jzone/" target="_blank">Gavin.lee</a> 2010-11-04 15:58 <a href="http://www.aygfsteel.com/jzone/articles/337244.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Openwave 7.0 昄中文解决Ҏhttp://www.aygfsteel.com/jzone/articles/321738.htmlGavin.leeGavin.leeMon, 24 May 2010 07:52:00 GMThttp://www.aygfsteel.com/jzone/articles/321738.htmlhttp://www.aygfsteel.com/jzone/comments/321738.htmlhttp://www.aygfsteel.com/jzone/articles/321738.html#Feedback0http://www.aygfsteel.com/jzone/comments/commentRss/321738.htmlhttp://www.aygfsteel.com/jzone/services/trackbacks/321738.html
我的解决Ҏ是:

在模拟器中Settings->Device Properties中的Font,在Default Font中填入STXinwei.ttf

Gavin.lee 2010-05-24 15:52 发表评论
]]>
WML 语言 标签学习http://www.aygfsteel.com/jzone/articles/311149.htmlGavin.leeGavin.leeThu, 28 Jan 2010 15:18:00 GMThttp://www.aygfsteel.com/jzone/articles/311149.htmlhttp://www.aygfsteel.com/jzone/comments/311149.htmlhttp://www.aygfsteel.com/jzone/articles/311149.html#Feedback0http://www.aygfsteel.com/jzone/comments/commentRss/311149.htmlhttp://www.aygfsteel.com/jzone/services/trackbacks/311149.htmlhttp://www.w3school.com.cn/wap/wml_reference.asp

Gavin.lee 2010-01-28 23:18 发表评论
]]>
WAP中利用Cookie保留d框的用户?/title><link>http://www.aygfsteel.com/jzone/articles/311145.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Thu, 28 Jan 2010 14:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/jzone/articles/311145.html</guid><wfw:comment>http://www.aygfsteel.com/jzone/comments/311145.html</wfw:comment><comments>http://www.aygfsteel.com/jzone/articles/311145.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jzone/comments/commentRss/311145.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jzone/services/trackbacks/311145.html</trackback:ping><description><![CDATA[Z方便WAP用户Q在d旉要保留用户名Qؓ下次用户d时候用随即用Cookie保留了用户名参数?br /> <br /> 表单接收参数Q将其置入Cookie<br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_3_166_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3_166_Open_Text.style.display='none'; Codehighlighter1_3_166_Closed_Image.style.display='inline'; Codehighlighter1_3_166_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_3_166_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_3_166_Closed_Text.style.display='none'; Codehighlighter1_3_166_Open_Image.style.display='inline'; Codehighlighter1_3_166_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /><span style="color: #0000ff">try</span><span id="Codehighlighter1_3_166_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_3_166_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        Cookie cookie </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> Cookie(</span><span style="color: #000000">"</span><span style="color: #000000">username</span><span style="color: #000000">"</span><span style="color: #000000">, URLEncoder.encode(tuser,</span><span style="color: #000000">"</span><span style="color: #000000">utf-8</span><span style="color: #000000">"</span><span style="color: #000000">));<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        cookie.setMaxAge(</span><span style="color: #000000">60</span><span style="color: #000000"> </span><span style="color: #000000">*</span><span style="color: #000000"> </span><span style="color: #000000">60</span><span style="color: #000000"> </span><span style="color: #000000">*</span><span style="color: #000000"> </span><span style="color: #000000">24</span><span style="color: #000000"> </span><span style="color: #000000">*</span><span style="color: #000000"> </span><span style="color: #000000">30</span><span style="color: #000000"> </span><span style="color: #000000">*</span><span style="color: #000000"> </span><span style="color: #000000">2</span><span style="color: #000000">); </span><span style="color: #008000">//</span><span style="color: #008000">用户名保?个月</span><span style="color: #008000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000">        response.addCookie(cookie);<br /> <img id="Codehighlighter1_186_213_Open_Image" onclick="this.style.display='none'; Codehighlighter1_186_213_Open_Text.style.display='none'; Codehighlighter1_186_213_Closed_Image.style.display='inline'; Codehighlighter1_186_213_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_186_213_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_186_213_Closed_Text.style.display='none'; Codehighlighter1_186_213_Open_Image.style.display='inline'; Codehighlighter1_186_213_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" />    }</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception ex)</span><span id="Codehighlighter1_186_213_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_186_213_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        ex.printStackTrace();<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />    }</span></span></div> <br /> 再次走登录流E时Q先获取Cookie中的该参敎ͼ参数ȝ有效Ӟ直接取出<br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_3_262_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3_262_Open_Text.style.display='none'; Codehighlighter1_3_262_Closed_Image.style.display='inline'; Codehighlighter1_3_262_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_3_262_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_3_262_Closed_Text.style.display='none'; Codehighlighter1_3_262_Open_Image.style.display='inline'; Codehighlighter1_3_262_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /><span style="color: #0000ff">try</span><span id="Codehighlighter1_3_262_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_3_262_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        Cookie[] cookies </span><span style="color: #000000">=</span><span style="color: #000000"> request.getCookies();<br /> <img id="Codehighlighter1_69_259_Open_Image" onclick="this.style.display='none'; Codehighlighter1_69_259_Open_Text.style.display='none'; Codehighlighter1_69_259_Closed_Image.style.display='inline'; Codehighlighter1_69_259_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_69_259_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_69_259_Closed_Text.style.display='none'; Codehighlighter1_69_259_Open_Image.style.display='inline'; Codehighlighter1_69_259_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">if</span><span style="color: #000000">(cookies </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">)</span><span id="Codehighlighter1_69_259_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_69_259_Open_Text"><span style="color: #000000">{</span><span style="color: #008000">//</span><span style="color: #008000">取用L录名</span><span style="color: #008000"><br /> <img id="Codehighlighter1_121_255_Open_Image" onclick="this.style.display='none'; Codehighlighter1_121_255_Open_Text.style.display='none'; Codehighlighter1_121_255_Closed_Image.style.display='inline'; Codehighlighter1_121_255_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_121_255_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_121_255_Closed_Text.style.display='none'; Codehighlighter1_121_255_Open_Image.style.display='inline'; Codehighlighter1_121_255_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" /></span><span style="color: #000000">            </span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; i </span><span style="color: #000000"><</span><span style="color: #000000"> cookies.length; i</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span id="Codehighlighter1_121_255_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_121_255_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_170_250_Open_Image" onclick="this.style.display='none'; Codehighlighter1_170_250_Open_Text.style.display='none'; Codehighlighter1_170_250_Closed_Image.style.display='inline'; Codehighlighter1_170_250_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_170_250_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_170_250_Closed_Text.style.display='none'; Codehighlighter1_170_250_Open_Image.style.display='inline'; Codehighlighter1_170_250_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />                </span><span style="color: #0000ff">if</span><span style="color: #000000">(cookies[i].getName().equals(</span><span style="color: #000000">"</span><span style="color: #000000">username</span><span style="color: #000000">"</span><span style="color: #000000">))</span><span id="Codehighlighter1_170_250_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_170_250_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />                    String username </span><span style="color: #000000">=</span><span style="color: #000000"> URLDecoder.decode(cookies[i].getValue(), </span><span style="color: #000000">"</span><span style="color: #000000">utf-8</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />                }</span></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />            }</span></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />        }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_281_307_Open_Image" onclick="this.style.display='none'; Codehighlighter1_281_307_Open_Text.style.display='none'; Codehighlighter1_281_307_Closed_Image.style.display='inline'; Codehighlighter1_281_307_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_281_307_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_281_307_Closed_Text.style.display='none'; Codehighlighter1_281_307_Open_Image.style.display='inline'; Codehighlighter1_281_307_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" />    }</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception e)</span><span id="Codehighlighter1_281_307_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_281_307_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        e.printStackTrace();<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />    }</span></span></div> <br /> Cookieq有很多唯妙的用法,可以指定讄的\径,格式Q甚臛_全性高的数据,可以通过加密保留。用Cookie也可完成保留用户d状态的讄?br /> <br /> 注:以下是一位网友对利用Cookie保留d状态的实现步骤Q?br /> Q、用戯入网站地址Q在jsp面载入的过E中Q读取用LcookieQ如果存在相应的cookieQ则建立用户USERINFOQ存攑֜session中,直接q入公告面Q?<br /> Q、在Q中Q如果不存在相应的cookieQ则昄d面Q让用户输入自己的用户名和密码,q提供用户保存密码的复选框Q?<br /> Q、如果是合法用户Qƈ选中了保存密码(C我)Q则用户信息写入cookie?q同时保存在USERINFO中,q入公告面Q?<br /> Q、如果不是合法用P则给出提CZ息,让其重新输入用户名或密码Q?<br /> Q、如果选中游客dQ则以游客方式进入网站; <br /> Q、用L接输入某个页面的URLQ在相应的action中读取用LcookieQ如果存在相应的cookieQ则建立用户USERINFOQ存攑֜session中,q入h的页面; <br /> Q、在Q中Q如果不存在相应的cookieQ则以游客n份进入,建立游客用户USERINFOQ存攑֜session中,q入h的页面; <br /> Q、用户选择重新dQ首先检是否存在相应的cookieQ有先删除cookieQ然后回到登录页面重新登录; <img src ="http://www.aygfsteel.com/jzone/aggbug/311145.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jzone/" target="_blank">Gavin.lee</a> 2010-01-28 22:41 <a href="http://www.aygfsteel.com/jzone/articles/311145.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Can't sendRedirect() after data has committed to the client.http://www.aygfsteel.com/jzone/articles/286808.htmlGavin.leeGavin.leeWed, 15 Jul 2009 03:11:00 GMThttp://www.aygfsteel.com/jzone/articles/286808.htmlhttp://www.aygfsteel.com/jzone/comments/286808.htmlhttp://www.aygfsteel.com/jzone/articles/286808.html#Feedback0http://www.aygfsteel.com/jzone/comments/commentRss/286808.htmlhttp://www.aygfsteel.com/jzone/services/trackbacks/286808.html [11:04:33.250]  at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:567)
[11:04:33.250]  at javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:109)
[11:04:33.250]  at com.caucho.server.connection.ResponseWrapper.sendRedirect(ResponseWrapper.java:276)
[11:04:33.250]  at com.caucho.server.connection.ResponseAdapter.sendRedirect(ResponseAdapter.java:157)
[11:04:33.250]  at yixun.wap.tools.GetRequest.ToPage(GetRequest.java:76)
[11:04:33.250]  at _jsp._page._user._login._userlogindo__jsp._jspService(_userlogindo__jsp.java:90)
[11:04:33.250]  at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
[11:04:33.250]  at com.caucho.jsp.Page.pageservice(Page.java:586)
[11:04:33.250]  at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:190)
[11:04:33.250]  at yixun.wap.filter.ReplaceTextFilter.doFilter(ReplaceTextFilter.java:77)
[11:04:33.250]  at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:73)
[11:04:33.250]  at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:167)
[11:04:33.250]  at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:226)
[11:04:33.250]  at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263)
[11:04:33.250]  at com.caucho.server.port.TcpConnection.run(TcpConnection.java:477)
[11:04:33.250]  at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:591)
[11:04:33.250]  at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:513)
[11:04:33.250]  at java.lang.Thread.run(Thread.java:619)

关于q个问题Q以前是能经常碰到的Q也没仔l的ȝIӞq段旉又碰CQ阴不散的。今天刚好有旉查查Q?br /> |上都说是有out.println()Q也是说在转发的同Ӟ容器回去查该q接是否与客L正在传输数据?br />
所以知道原理了Q操作v来就好办了,直接response.getWriter().close();
是说关闭response的输出,再进行{?

Gavin.lee 2009-07-15 11:11 发表评论
]]>
wap request head QcommsQ?/title><link>http://www.aygfsteel.com/jzone/articles/280641.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Mon, 08 Jun 2009 05:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/jzone/articles/280641.html</guid><wfw:comment>http://www.aygfsteel.com/jzone/comments/280641.html</wfw:comment><comments>http://www.aygfsteel.com/jzone/articles/280641.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jzone/comments/commentRss/280641.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jzone/services/trackbacks/280641.html</trackback:ping><description><![CDATA[wap request HeadQ其实对于不同品牌的手机Q发送的头部都会有区别的Q?br /> 【联通】HTTP_ACCEPT:application/vnd.wap.wmlc;Type=1108, application/vnd.wap.wmlc, application/vnd.wap.wmlscriptc, application/vnd.uplanet.signal, application/vnd.uplanet.cacheop-wbxml, application/vnd.uplanet.alert-wbxml, application/vnd.uplanet.channel-wbxml, application/vnd.uplanet.list-wbxml, application/vnd.uplanet.listcmd-wbxml, application/vnd.uplanet.bearer-choice-wbxml, application/vnd.wap.multipart.related, application/vnd.wap.multipart.mixed, application/x-up-device, application/vnd.phonecom.mmc-wbxml, application/octet-stream, image/vnd.wap.wbmp, image/png, image/bmp,image/vnd.wap.wbmp,application/vnd.uplanet.alert,application/x-up-alert,application/vnd.uplanet.bearer-choice,application/vnd.uplanet.cacheop,application/x-up-cacheop,application/vnd.uplanet.channel,application/vnd.uplanet.list,application/vnd.uplanet.listcmd,application/vnd.phonecom.mmc-xml,text/x-wap.wml,text/vnd.wap.wml,text/x-hdml,text/vnd.wap.wmlscript, */*<br /> HTTP_ACCEPT_LANGUAGE:zh, en<br /> HTTP_CONNECTION:close<br /> HTTP_HOST:myhyli.digichina.net<br /> HTTP_USER_AGENT:LGE-LG8380/1.0 UP.Browser/4.1.26l UP.Link/5.1.2.9<br /> HTTP_COOKIE:ASPSESSIONIDQATSASTC=OEHIAIKADHNCNMNHAEIAEPLC;CUI=468;TESTUSER=N<br /> HTTP_VIA:1.1 sh-bgw04:3128 (Squid/2.3.STABLE3), 1.0 sh-bgw04:81, 1.0 sdblbg01:81<br /> HTTP_ACCEPT_CHARSET:utf-8, UTF-8, *<br /> HTTP_CACHE_CONTROL:max-age=259200<br /> HTTP_MAX_FORWARDS:2<br /> HTTP_X_FORWARDED_FOR:10.83.56.88, 10.95.17.106, 127.0.0.1, 211.95.66.93<br /> HTTP_X_UP_DEVCAP_CHARSET:utf-8<br /> HTTP_X_UP_DEVCAP_IMMED_ALERT:1<br /> HTTP_X_UP_DEVCAP_ISCOLOR:1<br /> HTTP_X_UP_DEVCAP_MAX_PDU:8192<br /> HTTP_X_UP_DEVCAP_MSIZE:7,14<br /> HTTP_X_UP_DEVCAP_NUMSOFTKEYS:2<br /> HTTP_X_UP_DEVCAP_SCREENCHARS:24,13<br /> HTTP_X_UP_DEVCAP_SCREENDEPTH:18<br /> HTTP_X_UP_DEVCAP_SCREENPIXELS:169,183<br /> HTTP_X_UP_DEVCAP_SOFTKEYSIZE:12<br /> HTTP_X_UP_FAX_ACCEPTS:text/plain, application/postscript, application/msword, application/rtf, application/pdf<br /> HTTP_X_UP_FAX_ENCODINGS:7bit, 8bit, base64, quoted-printable<br /> HTTP_X_UP_FAX_LIMIT:100000<br /> HTTP_X_UP_SUBNO:联通手机号?br /> HTTP_X_UP_UPLINK:gateway<br /> HTTP_X_UP_WAPPUSH_SECURE:gatewaysh.hq.wap.uni-info.com.cn:9003/pap<br /> HTTP_X_UP_WAPPUSH_UNSECURE:gatewaysh.hq.wap.uni-info.com.cn:9002/pap<br /> HTTP_X_UP_WTLS_INFO:off<br /> <br /> 【移动】[HTTP_ACCEPT] => application/x-zip, application/vnd.ces-quickword, application/vnd.ces-quicksheet, audio/wav, audio/x-wav, audio/basic, audio/x-au, audio/au, audio/x-basic, video/mp4, video/mpeg4, video/3gpp, application/vnd.rn-realmedia, audio/amr-wb, audio/amr, audio/mp3, application/sdp, audio/sp-midi, audio/x-beatnik-rmf, audio/midi, audio/aac, audio/mpeg, audio/3gpp, audio/mp4, application/java-archive, text/vnd.sun.j2me.app-descriptor, text/html, application/vnd.wap.xhtml+xml, application/xhtml+xml, application/vnd.wap.wmlc, text/vnd.wap.wml, application/vnd.wap.wbxml1, application/vnd.wap.wmlscriptc, multipart/mixed, application/x-nokiagamedata, application/vnd.ces-quickpoint, video/avi, application/smil, application/pdf, application/vnd.symbian.install, audio/x-pn-realaudio-plugin, audio/x-pn-realaudio, audio/mpegurl, audio/x-mpegurl, text/x-co-desc, application/vnd.oma.dd+xml, application/x-wallet-appl.user-data-provision, application/vnd.met.ticket, application/vnd.nokia.ringing-tone, text/vnd.symbian.wml.dtd, application/vnd.wap.wbxml, application/java, video/3gp, audio/rmf, audio/x-rmf, audio/x-midi, application/x-java-archive, application/vnd.oma.drm.message, psint/eloader, application/x-x509-ca-cert, text/plain, text/x-vcard, text/calendar, text/x-vcalendar, video/qmv, text/css, image/*, text/x-vcard, image/gif, image/vnd.wap.wbmp, text/vnd.wap.wmlscript<br />     [HTTP_ACCEPT_LANGUAGE] => zh-ch, zh<br />     [HTTP_CONNECTION] => close<br />     [HTTP_HOST] => 0791.jxs.cn<br />     [HTTP_USER_AGENT] => Nokia6670/2.0 (6.0525.0ch) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0<br />     [HTTP_CONTENT_LENGTH] => 0<br />     [HTTP_VIA] => WTP/1.1 GDGZ-PS-GW006-WAP03.gd.chinamobile.com (Nokia WAP Gateway 4.0/CD3/4.1.29)<br />     [HTTP_ACCEPT_ENCODING] => gzip;q=1.0, identity; q=0.8<br />     [HTTP_ACCEPT_CHARSET] => gb2312, iso-8859-1, utf-8, iso-10646-ucs-2; q=0.6<br />     [HTTP_X_WAP_PROFILE] => "http://nds1.nds.nokia.com/uaprof/N6670r100.xml"<br />     [HTTP_X_NETWORK_INFO] => GPRS,8613631402**,10.100.246.217,cmwap,unsecured<br />     [HTTP_X_FORWARDED_FOR] => 10.100.246.217<br />     [HTTP_X_UP_CALLING_LINE_ID] => Ud手机L<br />     [HTTP_X_SOURCE_ID] => cmwap<br />     [HTTP_X_NOKIA_CONNECTION_MODE] => TCP<br />     [HTTP_X_UP_BEARER_TYPE] => GPRS<br />     [HTTP_X_NOKIA_GATEWAY_ID] => NWG/4.0/CD3/Build04 <br /> <br /> <br /> <br /> <p>accept:text/x-vCard,application/smil,image/gif,text/plain,audio/x-midi,text/html,image/bmp,image/vnd.wap.wbmp,text/x-vCalendar,application/vnd.wap.wmlscriptc,application/vnd.phonecom.mmc-wbxml,audio/midi,audio/smaf,image/png,application/vnd.oma.drm.message,application/vnd.wap.mms-message,image/jpg,image/x-up-wpng,application/vnd.wap.multipart.related,application/octet-stream,application/vnd.wap.multipart.mixed,application/vnd.wap.coc,text/x-imelody,text/css,application/x-smaf,application/vnd.wap.sic,application/vnd.uplanet.bearer-choice-wbxml,application/vnd.wap.slc,audio/x-mid,application/xhtml+xml; profile="http://www.wapforum.org/xhtml",application/vnd.wap.connectivity-wbxml,application/vnd.wap.xhtml+xml,application/vnd.smaf,audio/amr,image/jpeg,audio/smf,audio/mid,audio/imelody,application/vnd.wap.wmlc,application/x-imelody, text/vnd.wap.wml, text/vnd.wap.wmlscript, text/vnd.wap.co, text/vnd.wap.si, text/vnd.wap.sl, text/vnd.wap.connectivity-xml <br /> user-agent:NEC-N700/1.0 UP.Browser/6.2.2.4.d.1.102 (GUI) MMP/1.0 <br /> accept-charset:utf-8 <br /> accept-language:zh-cn <br /> profile:http://nec-uap.com/prof/N700V01.xml <br /> x-up-devcap-screenpixels:120,140 <br /> x-up-devcap-msize:11,6 <br /> x-up-devcap-softkeysize:12 <br /> x-up-devcap-immed-alert:1 <br /> x-up-devcap-iscolor:1 <br /> x-up-devcap-screendepth:8 <br /> cookie:JSESSIONID=6B72F4F8469C0113D1544ACC1BA2A9FE <br /> via:WTP/1.1 WAPGW-6.wh.monternet.com (Nokia WAP Gateway 3.1/ECD9/3.1.53), HTTP/1.1 HTTPPRXY-4[0A0000D4] (Traffic-Server/4.0.9 [uSc ]) <br /> x-network-info:GPRS,10.139.155.216,13951615696,211.139.172.70,unsecured <br /> x-forwarded-for:10.139.155.216 <br /> <span id="wmqeeuq" class="hilite1"><font style="background-color: #ffff00">x-up-calling-line-id</font></span>:13961665696 <br /> x-source-id:211.139.172.70 <br /> x-nokia-connection_mode:CMODE <br /> x-nokia-bearer:GPRS <br /> x-nokia-gateway-id:NAWG/3.1/Build53 <br /> client-ip:10.0.0.144 <br /> <br /> <br /> <br /> acceptQ终端可以接受的媒体cdQ?<br /> user-agentQ终端的型号和其它一些信息;<span style="color: red">//q个现在已经取不C</span> <br /> accept-charsetQ终端可以接受的~码集; <br /> accept-languageQ可以接受的语言Q?<br /> cookieQ终端发上来的cookie啦,一些状态信息; <br /> viaQ访问\径上通过了一个代理设备,q里是WAPGW-6.wh.monternet.com q个WAP|关啦,武汉的吧Q呵呵; <br /> client-ipQ终端的IP啦; <br /> <br /> x-up-devcap-screenpixels:120,140 <br /> x-up-devcap-msize:11,6 <br /> x-up-devcap-softkeysize:12 <br /> x-up-devcap-immed-alert:1 <br /> x-up-devcap-iscolor:1 <br /> x-up-devcap-screendepth:8 <br /> 上面q几行都是终端设备的参数Q?<br /> <br /> <br /> <br /> x-forwarded-for:10.139.155.216 <br /> wap|关的地址Q需要走武汉的网兛_到serverQ?<br /> <br /> <span id="wmqeeuq" class="hilite1"><font style="background-color: #ffff00">x-up-calling-line-id</font></span>:13961665696<span style="color: red">//q个现在已经取不C</span> <br /> dU标识,是dLQ?<br /> <br /> x-source-id:211.139.172.70 <br /> x-nokia-connection_mode:CMODE <br /> q接模式Qwap2.0的两U访问模式之一Q?<br /> <br /> x-nokia-bearer:GPRS <br /> 承蝲方式QؓGPRS <br /> <br /> x-nokia-gateway-id:NAWG/3.1/Build53 <br /> Nokia的wap|关的版本了</p> <img src ="http://www.aygfsteel.com/jzone/aggbug/280641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jzone/" target="_blank">Gavin.lee</a> 2009-06-08 13:40 <a href="http://www.aygfsteel.com/jzone/articles/280641.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>wap 试工具Qopera firefox M3gateQ?/title><link>http://www.aygfsteel.com/jzone/articles/271825.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Wed, 20 May 2009 15:45:00 GMT</pubDate><guid>http://www.aygfsteel.com/jzone/articles/271825.html</guid><wfw:comment>http://www.aygfsteel.com/jzone/comments/271825.html</wfw:comment><comments>http://www.aygfsteel.com/jzone/articles/271825.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jzone/comments/commentRss/271825.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jzone/services/trackbacks/271825.html</trackback:ping><description><![CDATA[做wap有段旉了,从web到wapQ开始时候最不习惯的是wap的界面了Q太单调了。呵呵,不过wap单嘛。言归正传,在正常的试时候,用到得最多的q是operaQ说到opera支持wapQ知道的人应该不会有M疑问了,随便找个opera  down下来Q装上就可以了;其次是firefox了,当时做web的时候,试用的最多的q是FF && IE  Q现在IE基本上对我来说就死退休了。除非我要google时候,或者查看报文(xmlQ时候。FF也少用了?br /> <br /> FF下安装一个扩展插件就可以使FF也能支持wap了:<br /> |上扑ֈ wmlbrowserQ我用的是wmlbrowser-0.7.20.xpiQ感觉还不错Q直接给拖到FF里面Q点安装Q重启FF。输入wap地址。就OK了, O(∩_∩)O~Q简单吧?br /> <br /> 然后用的就是M3gateQ这个工具对WML要求非常的严根{很多时候我们不需要考虑太多了。一般的手机都能处理很多了,比如说这家伙׃认识相对路径Q很ȝ的。绝大部分的手机都是可以的。(刚接触wap的时候,我们老大说了Q要l过opera试Q再qM3gate试Q然后本地测试,U下试Q再U上试Q最后都OK了才能发布)现在x其实没那么严g。多注意点,少挨点客户的骂了?<br /> <br /> 貌似上面说的插g了一个?Q?有问题回头再贴了Q先到这里了?C旉 2009-5-20 23:45:13。有点篏了,睡觉?br /> <br /> <span style="font-size: 14pt"><strong>l:<strong>User Agent Switcher 插g</strong></strong></span> <br /> 实有的时候程序对来访者的user-agentq行了判断,所以还需要这个插件?br /> <br /> 安装完毕后,q时候FF׃优先讉Kwap了。其实里面还有很多玄机。用了才知道了?O(∩_∩)O~ <img src ="http://www.aygfsteel.com/jzone/aggbug/271825.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jzone/" target="_blank">Gavin.lee</a> 2009-05-20 23:45 <a href="http://www.aygfsteel.com/jzone/articles/271825.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ԫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¤</a>| <a href="http://" target="_blank">潭</a>| <a href="http://" target="_blank">Ȫ</a>| <a href="http://" target="_blank">཭</a>| <a href="http://" target="_blank">ٲ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ٸ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˻</a>| <a href="http://" target="_blank">³ƶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˱</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">°Ͷ</a>| <a href="http://" target="_blank">٤ʦ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">߶</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>