<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    紙飛機(jī)

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      22 隨筆 :: 28 文章 :: 30 評(píng)論 :: 0 Trackbacks

    2008年5月15日 #

    用jspsmart下載文件異常(tomcat正常,weblogic不行)

    用jspsmart下載文件JSP代碼如下:
    <%@ page contentType="text/html;charset=GBK" import="com.jspsmart.upload.*" %><%
    //取得服務(wù)器存放文件的路徑
    String reportTemplatePath = (String)session.getAttribute("reportTemplatePath");
    //文件名
    String filename = reportTemplatePath + "/" + request.getParameter("filename");
    filename = new String(filename.getBytes(),"ISO-8859-1");
    // 新建一個(gè)SmartUpload對(duì)象
    SmartUpload su = new SmartUpload();
    // 初始化
    su.initialize(pageContext);
    //設(shè)定contentDisposition為null以禁止瀏覽器自動(dòng)打開(kāi)文件,保證點(diǎn)擊鏈接后是下載文件。若不設(shè)定,則下載的文件擴(kuò)展名為
    //doc時(shí),瀏覽器將自動(dòng)用word打開(kāi)它。擴(kuò)展名為pdf時(shí),瀏覽器將用acrobat打開(kāi)。
    su.setContentDisposition(null);
    // 下載文件
    su.downloadFile(filename);
    %>在tomcat中運(yùn)行正常。
    在weblogic中運(yùn)行拋出如下異常.
    文件可以下載,但特別慢并且打開(kāi)是亂碼。
    <2004-2-19 下午09時(shí)14分34秒> <Error> <HTTP> <101019> <[ServletContext(id=325867,
    name=csrc,context-path=/csrc)] Servlet failed with IOException
    java.net.ProtocolException: Exceeded stated content-length of: '548352' bytes
            at weblogic.servlet.internal.ServletOutputStreamImpl.checkCL(ServletOutp
    utStreamImpl.java:220)
            at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutput
    StreamImpl.java:170)
            at com.jspsmart.upload.SmartUpload.downloadFile(SmartUpload.java:986)
            at com.jspsmart.upload.SmartUpload.downloadFile(SmartUpload.java:355)
            at com.jspsmart.upload.SmartUpload.downloadFile(SmartUpload.java:336)
            at jsp_servlet._test.__do_download._jspService(__do_download.java:102)
            at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
            at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
    (ServletStubImpl.java:1058)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:401)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:306)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
    n.run(WebAppServletContext.java:5445)
            at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
    eManager.java:780)
            at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
    rvletContext.java:3105)
            at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
    pl.java:2588)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
    >

    解決方法:把所有<%和%>之外的空格字符都取掉就好了.參考如下:
    <%@ page contentType="text/html;charset=GBK" import="com.jspsmart.upload.*" %><%
    //取得服務(wù)器存放文件的路徑
    String reportTemplatePath = (String)session.getAttribute("reportTemplatePath");
    //文件名
    String filename = reportTemplatePath + "/" + request.getParameter("filename");
    filename = new String(filename.getBytes(),"ISO-8859-1");
    // 新建一個(gè)SmartUpload對(duì)象
    SmartUpload su = new SmartUpload();
    // 初始化
    su.initialize(pageContext);
    //設(shè)定contentDisposition為null以禁止瀏覽器自動(dòng)打開(kāi)文件,保證點(diǎn)擊鏈接后是下載文件。若不設(shè)定,則下載的文件擴(kuò)展名為
    //doc時(shí),瀏覽器將自動(dòng)用word打開(kāi)它。擴(kuò)展名為pdf時(shí),瀏覽器將用acrobat打開(kāi)。
    su.setContentDisposition(null);
    // 下載文件
    su.downloadFile(filename);
    %>

     

    posted @ 2008-06-02 16:04 紙飛機(jī) 閱讀(3798) | 評(píng)論 (2)編輯 收藏

    GBK的文字編碼是雙字節(jié)來(lái)表示的,即不論中、英文字符均使用雙字節(jié)來(lái)表示,只不過(guò)為區(qū)分中文,將其最高位都定成1。

    至于UTF-8編碼則是用以解決國(guó)際上字符的一種多字節(jié)編碼,它對(duì)英文使用8位(即一個(gè)字節(jié)),中文使用24位(三個(gè)字節(jié))來(lái)編碼。對(duì)于英文字符較多的論壇則用UTF-8節(jié)省空間。

    GBK包含全部中文字符,
    UTF-8則包含全世界所有國(guó)家需要用到的字符。

    GBK是在國(guó)家標(biāo)準(zhǔn)GB2312基礎(chǔ)上擴(kuò)容后兼容GB2312的標(biāo)準(zhǔn)(好像還不是國(guó)家標(biāo)準(zhǔn))

    UTF-8編碼的文字可以在各國(guó)各種支持UTF8字符集的瀏覽器上顯示。
    比如,如果是UTF8編碼,則在外國(guó)人的英文IE上也能顯示中文,而無(wú)需他們下載IE的中文語(yǔ)言支持包。

    所以,對(duì)于英文比較多的論壇 ,使用GBK則每個(gè)字符占用2個(gè)字節(jié),而使用UTF-8英文卻只占一個(gè)字節(jié)。

    請(qǐng)注意:UTF-8版本雖然具有良好的國(guó)際兼容性,但中文需要比GBK/BIG5版本多占用50%的數(shù)據(jù)庫(kù)存儲(chǔ)空間,因此并非推薦使用,僅供對(duì)國(guó)際兼容性有特殊要求的用戶使用。</DIV>
    簡(jiǎn)單地說(shuō):
           對(duì)于中文較多的論壇,適宜用GBK編碼節(jié)省數(shù)據(jù)庫(kù)空間。
           對(duì)于英文較多的論壇,適宜用UTF-8節(jié)省數(shù)據(jù)庫(kù)空間。

    posted @ 2008-05-22 14:07 紙飛機(jī) 閱讀(449) | 評(píng)論 (0)編輯 收藏

         摘要:   閱讀全文
    posted @ 2008-05-15 21:41 紙飛機(jī) 閱讀(652) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: 国产一级a毛一级a看免费人娇| 久久久久久影院久久久久免费精品国产小说 | 久久伊人免费视频| 一二三四免费观看在线电影| 亚洲黄片毛片在线观看| 亚洲天堂一区在线| 久久国产精品免费一区| 日本免费观看网站| 亚洲最大免费视频网| 97免费人妻在线视频| 亚洲美女又黄又爽在线观看| 亚洲AV性色在线观看| 四虎精品视频在线永久免费观看| 国产亚洲欧洲Aⅴ综合一区| 亚洲GV天堂无码男同在线观看| 久9久9精品免费观看| 亚洲自偷自拍另类12p| 精品国产呦系列在线观看免费| 伊人久久大香线蕉亚洲| 国产亚洲精品美女| 思思99re66在线精品免费观看| 亚洲小视频在线播放| A级毛片内射免费视频| 亚洲欧洲日本天天堂在线观看| 99精品全国免费观看视频 | 无码国产精品一区二区免费式芒果| 久久亚洲熟女cc98cm| 久久精品免费观看| 国产亚洲AV夜间福利香蕉149| 成全视频在线观看免费| 亚洲精品成人无码中文毛片不卡| 一区二区在线视频免费观看| 国产jizzjizz免费看jizz| 亚洲免费网站观看视频| 蜜桃视频在线观看免费网址入口| 亚洲AV成人片无码网站| 亚洲一区二区三区无码中文字幕| 18以下岁毛片在免费播放| 亚洲理论片在线中文字幕| 亚洲香蕉免费有线视频| 男人扒开添女人下部免费视频|