2021-02-25

tomcat 使用特殊字元網址或參數,造成400 bad request錯誤訊息

tomcat 使用特殊字元網址或參數,會造成400 bad request錯誤訊息,即使在web.xml設置error-page也無法禁止顯示系統報告(想不透...),需更改 server.xml,在<Host>加入:

<Valve className="org.apache.catalina.valves.ErrorReportValve" errorCode.0="conf/error.html" showReport="false" showServerInfo="false" />

其中 errorCode.0代表所有錯誤訊息,error.html 選擇使用$CATALINA_BASE相對路徑放在conf/error.html

ref:

https://stackoverflow.com/questions/794329/disable-all-default-http-error-response-content-in-tomcat

http://tomcat.apache.org/tomcat-9.0-doc/config/valve.html#Error_Report_Valve

2021-02-19

新專案上git時的必要前置設定

一、先產生.gitignore再做git init
例如你用的是netbeans的話,可以裝gitignore plugin或到這個網站,在專案的根目錄產生適合的.gitingore檔案,把不需要做版本控制的檔案(如build, dist等資料夾)排除。
可參考以下更詳細的.gitignore說明:
https://www.pluralsight.com/guides/how-to-use-gitignore-file
https://git-scm.com/docs/gitignore


二、設定gitconfig:
若一個專案的開發人員,不同人有著不同的OS平台,那麼 ~/.gitconfig (個人設定) 或 .git/config (專案設定,會覆蓋個人設定) 務必設定filemode = false及ignorecase = true

[user]

        email = username@yourmail.com

        name = username

[core]

        filemode = false #windows跟linux/macos開發者避免檔案權限錯誤訊息

        ignorecase = true #windows跟linux/macos開發者避免大小寫錯誤訊息

        autocrlf = false #false為不要自動轉換作業系統間的CRLF斷行,應以編輯器設定斷行字元。若設為input則checkout時會自動依平台轉換斷行,但commit時在linux/win一律為LF,在mac為CR



三、設定 .gitattributes
還要在repo的根目錄新增一個 .gitattributes 才解決跨平台換行(crlf)的衝突問題:

* text=auto eol=lf
*.{cmd,[cC][mM][dD]} text eol=crlf
*.{bat,[bB][aA][tT]} text eol=crlf
四、再做第一次的commit:
git commit -a -m "first commit, good luck!"