JAVA開發中會遇到的小問題,記錄一下!

JAVA問題

1.httpss問題

要將http轉爲https的需求,此時使用replaceAll("http","https")會出現將「https」中前一部分「http」轉爲了「https」,致使出現「httpss」。解決辦法是replaceAll("http://","https://")或者加判斷url.contains("https").java

2.啓動項目問題

tomcat啓動時會報各類類初始化、注入失敗的錯誤。linux

檢查第一步:看一下項目的jar包,有可能和tomcat自帶的jar包衝突數據庫

二,jdk和tomcat的版本兼容問題,記住tomcat的版本高,jdk的版本低,tomcat v7.0-------support-------->Java EE 5 and 6  json

tomcat v8.0-------support-------->Java EE 5,6 and 7 windows

tomcat v8.5-------support-------->Java EE 5,6 and 7 tomcat

tomcat v9.0-------support-------->Java EE 5,6,7 and 8 app

三,java Compiler版本要和jdk一致。ide

3.BigDecimal的使用

BigDecimal在作除法divide時,最好加上a.divide(new BigDecimal("100"), 2, BigDecimal.Round_HALF_UP),這樣作能方式結果爲無線循環小數時報錯java.lang.ArithmeticException: Rounding necessaryurl

4.路徑問題

windows和linux的規則不同。ci

windows使用\,但程序可能不識別這個符號,因此最好的寫法是:C:\\A\\B\\C。

linux使用的是/。

最省力的寫法是使用java.io.File的separotor。這個是獲取系統的分隔符,在windows是\,在linux是/。

5.RequestBody和ResponseBody

@RequestBody放在參數上用於將前臺傳輸的json數據(必須爲application/json格式)封裝成實體類,通常在POST請求中使用。

@ResponseBody:在加了@RequestMapping後,返回值一般解析爲跳轉路徑,因此會出現訪問結果爲404找不到相關頁面,而在方法上加上@ResponseBody後,返回結果會直接寫入HTTP 的response體中返回。


@ResponseBody

@RequestMapping(value = "")

public List<String> getData(@RequestBody User user){

}

數據庫

1.count和distinct通用

count(distinct a),多個字段時count(distinct a,b)會報錯,

正確的寫法是select count(*) from (select distinct a,b from 表)  

或者將須要distinct的字段拼接爲一個字段select count(distinct(a+b+c)) from 表

2.取差集

在ORACLE中使用except會報錯,因改用minus,而且保持查詢出的結果集保持一致。

相關文章
相關標籤/搜索