項目bug解決記錄

1,關於OPTIONS的問題,一個方法的nginx的代理的報頭問題,放行選項

if($ request_method ='OPTIONS'){
                add_header'Access-Control-Allow-Origin''*';
                add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS';
                add_header'Access-Control-Allow-Headers''DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
                add_header'Access-Control-Max-Age'1728000;
                add_header'Content-Type''text / plain charset = UTF-8';
                add_header'Content-Length'0;
                返回204;
             }
             if($ request_method ='POST'){
                add_header'
                add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS';
                add_header'Access-Control-Allow-Headers''DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
             }
             if($ request_method ='GET'){
                add_header'Access-Control-Allow-Origin''*';
                add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS';
                add_header'Access-Control-Allow-Headers''DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
             } 

2.關於本地項目嚴重報錯運行問題

必須一定一定不要帶中文;

必須項目不要隨意變換文件夾名稱和位置

必須罐包和引用的DLL不能隨意更換,必須是固定的,且不能有中文存在

本地環境的搭配問題,nginx的,memcached的,碼頭的配置和啓動問題

3.小問題

Idea啓動項目報錯:命令行太長。縮短className的命令行或縮短JUnit的默認配置。

解決方法:

在該項目文件夾.idea / workspace.xml中找到

<component name =“PropertiesComponent”>

</組分>

然後在其中添加:

<property name =“dynamic.classpath”value =“true”/>

或者修改C:\ Users \ xiaobao \ .IntelliJIdea2017.1 \ config \ options \ project.default.xml增加上述配置

執行運行,成功了

4.前臺是vue,vue解決跨域問題,代理

運行

5.後臺運行報錯了

判斷:沒有開啓的memcached

開啓

6.新錯誤,服務器訪問報500

7.重新啓動後臺碼頭項目,檢查後臺的配置文件

8.關於VUE中請求代理

webpack + vue-cil中proxyTable配置接口地址代理

    在項目開發的時候,接口聯調的時候一般都是同域名下,且不存在跨域的情況下進行接口聯調,但是當我們現在使用VUE-CLI進行項目打包的時候,我們在本地啓動服務器後,比如本地開發服務下是http:// localhost:8080這樣的訪問頁面,但是我們的接口地址是http://xxxx.com/save/index這樣的接口地址,我們這樣直接使用會存在跨域的請求,導致接口請求不成功,因此我們需要在打包的時候配置一下,我們進入config / index.js代碼下如下配置即可:

dev: {

    // 靜態資源文件夾
    assetsSubDirectory: 'static',

    // 發佈路徑
    assetsPublicPath: '/',

    // 代理配置表,在這裏可以配置特定的請求代理到對應的API接口
    // 例如將'localhost:8080/api/xxx'代理到'www.example.com/api/xxx'
    // 使用方法:https://vuejs-templates.github.io/webpack/proxy.html
    proxyTable: {
      '/api': {
        target: 'http://xxxxxx.com', // 接口的域名
        // secure: false,  // 如果是https接口,需要配置這個參數
        changeOrigin: true, // 如果接口跨域,需要進行這個參數配置
        pathRewrite: {
          '^/api': ''
        }
      }
    },

    // 本地訪問 http://localhost:8080
    host: 'localhost', // can be overwritten by process.env.HOST

接口地址原本是/ save / index,但是爲了匹配代理地址,在前面加一個/ api,因此接口地址需要寫成這樣的即可生效/ api / save / index。

注意:'/ api'爲匹配項,target爲被請求的地址,因爲在ajax的url中加了前綴'/ api',而原本的接口是沒有這個前綴的,所以需要通過pathRewrite來重寫地址,將前綴'/ api'轉爲'/'。如果本身的接口地址就有'/ api'這種通用前綴,就可以把pathRewrite刪掉。

9.問題沒有解決,還是報500

設置下UTF-8的格式

問題一:

文件 - >設置 - >編輯器 - >文件編碼

問題二:

文件 - >其他設置 - >默認設置 - >編輯器 - >文件編碼

問題三:

將項目中的.idea文件夾中的encodings.xml文件中的編碼格式改爲UFT-8

問題四:

文件 - >設置 - >構建,執行,部署 - >編譯器 - > Java編譯器

設置附加命令行參數選項爲-encoding utf-8

問題五:

1)打開運行/調試配置,選擇你的tomcat

2)然後在服務器> VM選項設置爲-Dfile.encoding = UTF-8,重啓tomcat

問題六:

清空瀏覽器緩存再試一次。

10.後臺導缺失的jar包

11.問題解決,刪除代碼時不小心隱藏掉了編碼格式,找到備份後重新覆蓋了現在的,前後臺可以跑通了。

總結:

一定一定不要用中文

一定一定一定要用UTF-8統一前後臺傳參

一定一定記得跨域的根本問題點,放行and代理

一定一定記得header的問題,token的問題

要什麼,給什麼,找準關鍵點,

一定一定要多備份,備份,備份,再備份,各種備份

一定一定不要沒事整理文件,

就算整理,一定一定要把jar包和環境恢復成原來的。

服務器地址,本地地址,測試地址一定一定要標註清楚

註釋,註釋,註釋,一定要見名知意。

以上是踩過的坑,坑,坑的記錄,歡迎各種採坑的交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章