• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        JB8一個(gè)jsp文件編寫、保存BUG的因素及更改

        JB8一個(gè)jsp文件編寫、保存BUG的因素及更改

        更新時(shí)間:2022-04-28 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        在JB8中編寫、保存的jsp文件的時(shí)候通常會(huì)出現(xiàn)這種錯(cuò)誤(在狀態(tài)欄中提示)
        com.borland.primetime.util.AssertionException: gbk
        而并不能正確保存jsp文件。

        個(gè)人修改辦法如下:

        這個(gè)問題我在用JB8編寫jsp文件時(shí)候發(fā)現(xiàn)的,現(xiàn)在本人已基本解決(但是改動(dòng)了jdk類庫(kù)里一些代碼)

        首先我解析一下原因:

        JB8這個(gè)問題只出現(xiàn)在jsp文件中,而java代碼則沒有問題
        我們用JB(所有JB8以前的版本)編寫程序的時(shí)候,項(xiàng)目的編碼(Encoding)應(yīng)該是GBK(注意是大寫)
        這樣我們編寫Java代碼的時(shí)候用的就是GBK,在JB8以前版本中,java文件和jsp文件的用的都是項(xiàng)目編碼

        (如:GBK),因此所有文件都用GBK編寫

        到了JB8就把java文件和jsp文件分開了,java繼續(xù)用項(xiàng)目的編碼,而jsp則根據(jù)jsp文件頭的
        <%@ page contentType="text/html;charset=[encoding]"%>
        中[encoding](如GBK、gb2312)來讀取、編寫和寫入文件,如果沒寫明則用ISO-8859-1(這個(gè)編碼的寫

        法也有問題,后面會(huì)有說明修改的方法),但這里用GBK編寫代碼的時(shí)候則JB8莫名其妙的把GBK改為小寫

        gbk(borland程序員寫錯(cuò)還是其他原因?!誰知道!),而在jdk類庫(kù)中并沒有這中編碼(java是區(qū)分大

        小寫的),因此就出現(xiàn)以上的錯(cuò)誤:
        com.borland.primetime.util.AssertionException: gbk

        解決方法:
        在用我的修改方法前,大家錯(cuò)好能找些關(guān)于java字符集(支持的編碼)的資料(論壇精華區(qū)有資料)
        我這里修改的jdk的類庫(kù),并不修改JB8的代碼(JB8太龐大,找起來不好找)
        在jdk類庫(kù)中負(fù)責(zé)編碼別名轉(zhuǎn)換類是sun.io.CharacterEncoding(在rt.jar包中,jdk目錄是jdk1.4\jre\

        lib)

        這解析一下別名,
        java中支持的編碼比較多,如:ISO8859_1,gb2312,GBK等,而java是區(qū)分大小寫的,如果我把ISO8859_1

        寫成iso8859_1,java會(huì)出錯(cuò)的,就像JB8把GBK寫成gbk就出錯(cuò)了,那java錯(cuò)了一些容錯(cuò)處理,當(dāng)他讀到

        某些并不是自己支持的編碼是就會(huì)去找sun.io.CharacterEncoding,看看這里有沒有對(duì)應(yīng)的編碼轉(zhuǎn)換,

        如果有則轉(zhuǎn)成標(biāo)準(zhǔn)的編碼,這里我們這些寫得并不標(biāo)準(zhǔn)得編碼成為編碼得別名,而編碼得別名可能會(huì)有

        很多(這個(gè)跟操作系統(tǒng)有關(guān),如ISO8859_1就有很多中寫法:iso_8859-1,iso8859_1)
        別名具體的英文名字解析我不記得了,我自己按自己的理解把它叫做別名

        接著我簡(jiǎn)要說明一下sun.io.CharacterEncoding是怎樣實(shí)現(xiàn)別名的轉(zhuǎn)換
        說起來很簡(jiǎn)單,就是用一個(gè)HashMap做key與value的對(duì)應(yīng)表
        sun.io.CharacterEncoding部分編碼如下(用jad反編譯出來的)
        ((HashMap) (obj)).put("us-ascii", "ASCII");
        ((HashMap) (obj)).put("ascii", "ASCII");
        ((HashMap) (obj)).put("646", "ASCII");
        ((HashMap) (obj)).put("iso_646.irv:1983", "ASCII");
        ((HashMap) (obj)).put("ansi_x3.4-1968", "ASCII");
        ((HashMap) (obj)).put("iso646-us", "ASCII");
        ((HashMap) (obj)).put("default", "ASCII");
        ((HashMap) (obj)).put("ascii7", "ASCII");
        ((HashMap) (obj)).put("8859_1", "ISO8859_1");
        ((HashMap) (obj)).put("iso_8859-1:1987", "ISO8859_1");
        ((HashMap) (obj)).put("iso-ir-100", "ISO8859_1");
        ((HashMap) (obj)).put("iso_8859-1", "ISO8859_1");
        ((HashMap) (obj)).put("iso-8859-1", "ISO8859_1");
        ((HashMap) (obj)).put("iso8859-1", "ISO8859_1");
        。。。。。

        這個(gè)對(duì)應(yīng)表比較大,但找起來并不困難
        對(duì)照前面jb8的問題,我們很容易就找到原因所在,這個(gè)對(duì)應(yīng)表中并沒有g(shù)bk和GBK的對(duì)應(yīng)。。。
        那我們就知道如何解決了,自己加。!
        ((HashMap) (obj)).put("gbk", "GBK");
        (【現(xiàn)在不知道有沒有記錯(cuò)】后來我同時(shí)發(fā)現(xiàn)JB8也寫錯(cuò)了一個(gè)編碼ISO-8859_1,這個(gè)在對(duì)應(yīng)表中也沒有

        ,所以建議大家也加上:
        ((HashMap) (obj)).put("ISO_8859-1", "ISO8859_1");

        然后編譯自己sun.io.CharacterEncoding,然后加到JB8的jdk1.4的rt.jar包中即可
        (怎樣操作請(qǐng)參考jar.exe的說明,在命令窗口運(yùn)行jar就有幫助)


        以后JB8就不會(huì)出錯(cuò)了!哈哈 :)

        如果對(duì)本人理解不認(rèn)同或有更好的解決方法請(qǐng)指出,歡迎討論。

        溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲人成网男女大片在线播放| 久久亚洲日韩看片无码| 亚洲欧美aⅴ在线资源| 国内精品免费麻豆网站91麻豆| 亚洲视频一区网站| 91成人免费观看| 亚洲精品中文字幕乱码| 69影院毛片免费观看视频在线 | 久久久久亚洲AV成人无码| 久久精品成人免费观看97| 亚洲午夜福利精品久久| 九九99热免费最新版| 亚洲国产精品无码久久一线| 成全视频在线观看免费| 无码专区—VA亚洲V天堂| 一区二区三区四区免费视频 | 国产精品玖玖美女张开腿让男人桶爽免费看 | 久久亚洲最大成人网4438| 免费视频专区一国产盗摄| 亚洲乱码中文字幕在线| 免费观看国产小粉嫩喷水| h在线看免费视频网站男男| 日本亚洲国产一区二区三区| 久久爰www免费人成| 亚洲精品中文字幕麻豆| 岛国大片免费在线观看| 免费激情网站国产高清第一页| 亚洲人妻av伦理| 99在线观看视频免费| 亚洲粉嫩美白在线| 亚洲国产成人VA在线观看 | 亚洲AV色欲色欲WWW| 在线精品亚洲一区二区小说| 精品无码AV无码免费专区| 国产亚洲sss在线播放| 又大又黄又粗又爽的免费视频| 久久久久国色AV免费观看| 亚洲精品国产专区91在线| 麻豆成人精品国产免费| 久久不见久久见免费影院www日本| 亚洲视频精品在线|