最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java程序部署到服務(wù)器上,接口請(qǐng)求下載文件失敗/文件為空/文件名不對(duì)的問(wèn)題

 更新時(shí)間:2020年07月10日 16:31:57   作者:Oxye  
這篇文章主要介紹了Java程序部署到服務(wù)器上,接口請(qǐng)求下載文件失敗/文件為空/文件名不對(duì),本文給大家分享錯(cuò)誤原因及解決方法,需要的朋友可以參考下

1.問(wèn)題:

昨天把項(xiàng)目打包放到國(guó)產(chǎn)中間件東方通(外部容器,功能類(lèi)似Tomcat)上時(shí),發(fā)現(xiàn)某些請(qǐng)求下載文件的接口不能正確返回文件,而是返回一個(gè)空的文件,名稱(chēng)是接口名最后一個(gè)詞fj,

然而這個(gè)功能直接使用IDE啟動(dòng)時(shí)沒(méi)問(wèn)題的,打包放到Tomcat9上也沒(méi)問(wèn)題,那可能是東方通適配問(wèn)題了

在這里插入圖片描述

2.原代碼:

部署在服務(wù)器上系統(tǒng)以后,在線打斷點(diǎn),發(fā)現(xiàn)跑到這一部分就在第三行位置執(zhí)行不下去

 response.setContentType("application/force-download");
 response.setCharacterEncoding("utf-8");
 response.setContentLengthLong(fileMetaData.getSize());
 response.setHeader("Content-Disposition", "attachment;filename=" + encodeChineseDownloadFileName(request, qualifiedFileName));

3.錯(cuò)誤原因:

servlet-api.jar 版本問(wèn)題,系統(tǒng)使用了新版本的方法,東方通上舊版本jar沒(méi)這個(gè)方法

4.解決

response是HttpServletResponse類(lèi)型的,
看一下這個(gè)類(lèi)在哪:javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar!\javax\servlet\http\HttpServletResponse.class

發(fā)現(xiàn)這個(gè)類(lèi)是javax.servlet-api-4.0.1.jar包里的類(lèi)

我在遷移系統(tǒng)到TongWeb上的時(shí)候,做了一些jar包改動(dòng),依稀記得看到過(guò)lib下使用的是servlet-api.jar

我把jar下下來(lái),壓縮文件打開(kāi),去尋找此類(lèi),發(fā)現(xiàn)這些文件都是2012年的,說(shuō)明這版東方通使用的servlet-api版本老

在這里插入圖片描述

使用IDEA打開(kāi)class,在structure中查看,發(fā)現(xiàn)我們代碼中用到的方法只有setHeader

在這里插入圖片描述

再看一下集成的接口ServletResponse,發(fā)現(xiàn)只找到setContentType、setCharacterEncoding

在這里插入圖片描述

看一下程序依賴(lài)的版本,好吧,新版本有這個(gè)方法

在這里插入圖片描述

5.新代碼:

去掉這一行,接口返回正確的文件

 response.setContentType("application/force-download");
 response.setCharacterEncoding("utf-8");
 //response.setContentLengthLong(fileMetaData.getSize());
 response.setHeader("Content-Disposition", "attachment;filename=" + encodeChineseDownloadFileName(request, qualifiedFileName));

到此這篇關(guān)于Java程序部署到服務(wù)器上,接口請(qǐng)求下載文件失敗/文件為空/文件名不對(duì)的文章就介紹到這了,更多相關(guān)java程序部署服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java正則之貪婪匹配、惰性匹配

    Java正則之貪婪匹配、惰性匹配

    這篇文章主要介紹了Java正則之貪婪匹配、惰性匹配的相關(guān)資料,需要的朋友可以參考下
    2015-03-03
  • java操作gaussDB數(shù)據(jù)庫(kù)的實(shí)現(xiàn)示例

    java操作gaussDB數(shù)據(jù)庫(kù)的實(shí)現(xiàn)示例

    本文主要介紹了java操作gaussDB數(shù)據(jù)庫(kù)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • java生成圖片驗(yàn)證碼功能

    java生成圖片驗(yàn)證碼功能

    最近在用ssm框架做一個(gè)管理系統(tǒng),做到登錄驗(yàn)證時(shí),需要實(shí)現(xiàn)圖片驗(yàn)證碼功能,今天小編給大家分享基于java制作的圖片驗(yàn)證碼功能,感興趣的朋友一起看看吧
    2019-12-12
  • 5分鐘快速創(chuàng)建spring boot項(xiàng)目的完整步驟

    5分鐘快速創(chuàng)建spring boot項(xiàng)目的完整步驟

    這篇文章主要給大家介紹了關(guān)于通過(guò)5分鐘快速創(chuàng)建spring boot項(xiàng)目的完整步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 一篇文章帶你深入了解Java對(duì)象與Java類(lèi)

    一篇文章帶你深入了解Java對(duì)象與Java類(lèi)

    這篇文章主要給大家介紹了關(guān)于java中類(lèi)和對(duì)象的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Java Redis分布式鎖的正確實(shí)現(xiàn)方式詳解

    Java Redis分布式鎖的正確實(shí)現(xiàn)方式詳解

    這篇文章主要介紹了Java Redis分布式鎖的正確實(shí)現(xiàn)方式詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 劍指Offer之Java算法習(xí)題精講字符串與二叉搜索樹(shù)

    劍指Offer之Java算法習(xí)題精講字符串與二叉搜索樹(shù)

    跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過(guò)之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • 詳解Java的Spring框架下bean的自動(dòng)裝載方式

    詳解Java的Spring框架下bean的自動(dòng)裝載方式

    這篇文章主要介紹了Java的Spring框架下bean的自動(dòng)裝載方式,Spring是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下
    2015-12-12
  • 利用HttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法

    利用HttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇利用HttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • SpringBoot為啥不用配置啟動(dòng)類(lèi)的實(shí)現(xiàn)

    SpringBoot為啥不用配置啟動(dòng)類(lèi)的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot為啥不用配置啟動(dòng)類(lèi)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04

最新評(píng)論

望江县| 施甸县| 察哈| 湛江市| 兴城市| 正镶白旗| 中西区| 澳门| 灵丘县| 连江县| 思茅市| 宁乡县| 高州市| 博乐市| 奇台县| 通榆县| 铜鼓县| 休宁县| 阿尔山市| 启东市| 依安县| 蓬安县| 五莲县| 开化县| 高青县| 邵武市| 南陵县| 报价| 敦化市| 上高县| 桑植县| 沭阳县| 安龙县| 民县| 阿图什市| 博湖县| 吴川市| 南涧| 噶尔县| 赤壁市| 鄂伦春自治旗|