Re: [問題] J2ME 呼叫web service

看板java作者 (sly9)時間16年前 (2009/04/26 17:37), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《skyblue2021 (空虛的人生)》之銘言: : 自問自答再自己提問 : 在google上找到了問題的解答 : 不過只有一句話=.= : "選擇使用Filter把Request的編碼方式設置為GBK來解決" Filter么……就是过滤器了- -b 这里说的Filter的意思就是 “当你的一个请求发送到服务器,在被服务器相关的程序处理之前,我们可以做一个 过滤 的动作“ 这个过滤具体会做什么都是你可以指定的,但我们一般做的就是做字符串的编码/解码 为什么要做这个,那是因为java内部String都是unicode的,但网络传递过来的字符串 则可能是各种编码的(GBK/Big5/UTF-8/....),我们需要让服务器断能正确的识别它,所以要过滤一下 但这些事儿一般都不需要自己再去做了,强烈推荐你将client、server要用到的编码都指定为utf-8来解决所有问题 具体的指定方法……一般来说其实只要修改配置文件就好了- -b (请忘掉filter,很多时候我们不需要自己折腾这些麻烦事儿) 比如你可以看看tomcat/conf/web.xml里头,寻找类似于这样的一段: <Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000" redirectPort="8443" /> 嗯,主要是URIEncoding="UTF-8" 这里了。。这对于许多问题应该已经能解决。。但如果还解决不了的话,只好自己去配置 Filter了= =b : 不過小弟還嫩嫩的 : 看不太懂這句話的意思 囧 : 我只知道GBK是一種中文的編碼 : 不過不了解話中的filter指的是什麼? 該如何去解決? : 希望有大大可以提供一點意見 : 感激不盡~ : ※ 引述《skyblue2021 (空虛的人生)》之銘言: : : 目前我使用JWSDP建立了一個web service : : 並且使用J2ME建立了client端程式 : : 當我以英文或數字當參數去呼叫我的web service時一切正常 : : 可是當我以中文當參數去呼叫web service時就產生了以下錯誤 : : "java.rmi.MarshallException: SAXParseException in response from server" : : 不過當我用J2SE來寫client端時不論參數是中文英文或數字一切都正常 : : 不知道有沒有大大有遇過這樣的問題? : : 我的環境是 : : WTK2.2 JDK1.6 Tomcat-for jwsdp5.5 : : 感激不盡~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 222.130.137.106
文章代碼(AID): #19z2jgAn (java)
文章代碼(AID): #19z2jgAn (java)