整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          SpringBoot應用不能訪問項目靜態頁面html問題處理

          題描述:SpringBoot搭建web應用在eclipse中啟動能夠正常訪問頁面,打包成jar之后不能訪問到頁面,沒有任何出錯提示。

          環境:使用的是前后端分離架構,沒有使用模板,前端html和靜態文件放到src/main/webapp下。

          解決方法:1、將pom文件中的打包方式改為war。

          2、使用mybatis,將mapper等xml文件放到src/resources下。

          3、配置好mapper-locations

          以上配置正確之后,重新使用maven打包就可以正常生成一個war包,然后同樣可以使用 java -jar xx.war 方式運行項目,啟動之后應該就可以正常訪問了。

          1. 開Eclipse或者MyEclipse
          2. Windows -> Preferences


          1. General -> Content type
          2. Java Class File
          3. Text目錄下
          4. CSS
          5. HTML
          6. Java Properties File
          7. Java Source File
          8. JavaScript Source File
          9. JSP
          10. Refactoring History File
          11. Refactoring History Index
          12. XML
          13. XML(illformed)
          14. 以上項目的Default encoding都改為UTF-8 并點擊 Update


          1. General -> Workspace
          2. Text file encoding更改為Other:UTF-8
          3. 點擊Apply OK


          1. 在自己開發的一個項目上點擊右鍵
          2. 項目右鍵->Properties 或者 左鍵點擊->Alt+Enter


          1. Resource
          2. Text file encoding 選擇 Other:UTF-8
          3. Apply OK


          1. 重啟Eclipse
          2. 經過上述5個步驟,Eclipse的中文編碼便設置完畢.
          3. 如數據庫中中文還是顯示問號及其亂碼
          4. 請檢查數據庫設置
          5. 代碼
          6. 過濾器

          avaScript大文件上傳解決方案實例代碼,JavaScript大文件上傳解決方案,JavaScript大文件上傳實例,JavaScript大文件上傳思路,JavaScript大文件分塊上傳,JavaScript大文件分片上傳,JavaScript大文件加密上傳,JavaScript大文件批量上傳,JavaScript文件夾上傳,JavaScript文件夾批量上傳,


          對于大文件的處理,無論是用戶端還是服務端,如果一次性進行讀取發送、接收都是不可取,很容易導致內存問題。所以對于大文件上傳,采用切塊分段上傳

          從上傳的效率來看,利用多線程并發上傳能夠達到最大效率。

          文件上傳頁面的前端可以選擇使用一些比較好用的上傳組件,例如百度的開源組件WebUploader,這些組件基本能滿足文件上傳的一些日常所需功能,如異步上傳文件,文件夾,拖拽式上傳,黏貼上傳,上傳進度監控,文件縮略圖,甚至是大文件斷點續傳,大文件秒傳。

          在web項目中上傳文件夾現在已經成為了一個主流的需求。在OA,或者企業ERP系統中都有類似的需求。上傳文件夾并且保留層級結構能夠對用戶行成很好的引導,用戶使用起來也更方便。能夠提供更高級的應用支撐。

          該項目核心就是文件分塊上傳。前后端要高度配合,需要雙方約定好一些數據,才能完成大文件分塊,我們在項目中要重點解決的以下問題。

          * 如何分片;

          * 如何合成一個文件;

          * 中斷了從哪個分片開始。

          如何分,利用強大的js庫,來減輕我們的工作,市場上已經能有關于大文件分塊的輪子,雖然程序員的天性曾迫使我重新造輪子。但是因為時間的關系還有工作的關系,我只能罷休了。最后我選擇了百度的WebUploader來實現前端所需。

          如何合,在合之前,我們還得先解決一個問題,我們如何區分分塊所屬那個文件的。剛開始的時候,我是采用了前端生成了唯一uuid來做文件的標志,在每個分片請求上帶上。不過后來在做秒傳的時候我放棄了,采用了Md5來維護分塊和文件關系。

          在服務端合并文件,和記錄分塊的問題,在這方面其實行業已經給了很好的解決方案了。參考迅雷,你會發現,每次下載中的時候,都會有兩個文件,一個文件主體,另外一個就是文件臨時文件,臨時文件存儲著每個分塊對應字節位的狀態。

          這些都是需要前后端密切聯系才能做好,前端需要根據固定大小對文件進行分片,并且請求中要帶上分片序號和大小。前端發送請求順利到達后臺后,服務器只需要按照請求數據中給的分片序號和每片分塊大小(分片大小是固定且一樣的)算出開始位置,與讀取到的文件片段數據,寫入文件即可。

          為了便于開發,我 將服務端的業務邏輯進行了如下劃分,分成初始化,塊處理,文件上傳完畢等。

          秒傳功能,相信大家都體現過了,網盤上傳的時候,發現上傳的文件秒傳了。其實原理稍微有研究過的同學應該知道,其實就是檢驗文件MD5,記錄下上傳到系統的文件的MD5,在一個文件上傳前先獲取文件內容MD5值或者部分取值MD5,然后在匹配系統上的數據。

          斷點續傳,就是在文件上傳的過程中發生了中斷,人為因素(暫停)或者不可抗力(斷網或者網絡差)導致了文件上傳到一半失敗了。然后在環境恢復的時候,重新上傳該文件,而不至于是從新開始上傳的。

          斷點續傳的功能是基于分塊上傳來實現的,把一個大文件分成很多個小塊,服務端能夠把每個上傳成功的分塊都落地下來,客戶端在上傳文件開始時調用接口快速驗證,條件選擇跳過某個分塊。

          實現原理,就是在每個文件上傳前,就獲取到文件MD5取值,在上傳文件前調用接口,如果獲取的文件狀態是未完成,則返回所有的還沒上傳的分塊的編號,然后前端進行條件篩算出哪些沒上傳的分塊,然后進行上傳。

          當接收到文件塊后就可以直接寫入到服務器的文件中。


          導入項目:
          導入到Eclipse:
          http://www.ncmem.com/doc/view.aspx?id=9da9c7c2b91b40b7b09768eeb282e647
          導入到IDEA:http://www.ncmem.com/doc/view.aspx?id=9fee385dfc0742448b56679420f22162
          springboot統一配置:http://www.ncmem.com/doc/view.aspx?id=7768eec9284b48e3abe08f032f554ea2



          下載示例:

          https://gitee.com/xproer/up6-jsp-eclipse/tree/6.5.40/




          工程



          NOSQL

          NOSQL示例不需要任何配置,可以直接訪問測試



          創建數據表

          選擇對應的數據表腳本,這里以SQL為例




          修改數據庫連接信息


          訪問頁面進行測試



          文件存儲路徑

          up6/upload/年/月/日/guid/filename






          相關問題:
          1.javax.servlet.http.HttpServlet錯誤
          2.項目無法發布到tomcat
          3.md5計算完畢后卡住
          4.服務器找不到config.json文件

          相關參考:

          文件保存位置


          源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra

          源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl



          OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a

          產品源代碼:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
          授權生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1


          主站蜘蛛池模板: 国产一区二区三区在线看片| 男人的天堂av亚洲一区2区| 亚洲av乱码一区二区三区香蕉| 在线不卡一区二区三区日韩| 在线成人一区二区| 一区二区三区四区免费视频| 一区二区三区福利视频| 怡红院一区二区三区| 无码视频一区二区三区| 亚洲码欧美码一区二区三区| 色国产精品一区在线观看| 亚洲永久无码3D动漫一区| 中文字幕一区二区三区四区| | 亚欧免费视频一区二区三区| 综合久久久久久中文字幕亚洲国产国产综合一区首| 中文字幕一区在线观看视频 | 日韩一区二区三区无码影院| 亚洲高清成人一区二区三区| 亚洲一区二区三区香蕉| 亚欧免费视频一区二区三区| 色系一区二区三区四区五区| 久久久91精品国产一区二区| 韩国一区二区三区视频| 成人影片一区免费观看| 亚洲AV香蕉一区区二区三区| 国产不卡视频一区二区三区| 一区二区三区日韩| 波多野结衣的AV一区二区三区| 国产精品视频分类一区| 国产爆乳无码一区二区麻豆| 无码视频免费一区二三区| 无码精品人妻一区二区三区人妻斩| 怡红院一区二区三区| 激情内射亚洲一区二区三区爱妻| 精品视频在线观看你懂的一区 | 99精品高清视频一区二区| 欧洲精品一区二区三区| 亚洲一区二区三区乱码在线欧洲| 久久久久人妻一区精品果冻| 日韩视频在线一区|