參考資料:
1、java断点续传服务端代码
2、Difference between Content-Range and Range headers?
3、changing the index positioning in InputStream
Software entities (class, modules, functions, etc.) should be open for extension, but closed for modification. Junior programmers create simple solutions to simple problems. Senior programmers create complex solutions to complex problems. Great programmers find simple solutions to complex problems. 註1:本部落格的範例程式碼在 2015 年以前的文章中,大多是以全型空白做縮排。如需服用,請自行用文字編輯器的取代功能把全型空白取代成半型空白。
- Bertrand Meyer
- Charles Connell
註2:本部落格的內容授權請參閱部落格底部的授權宣告。
2013年10月17日 星期四
筆記
Runtime-polymorphism
http://blog.sanaulla.info/2013/05/14/runtime-polymorphism-in-java/
sub class 繼承 super class 後,sub class 的 constructor 一定要呼叫某一個 super class 的 constructor
若沒有宣告任何 super(...) 時,預設將呼叫 super class 中沒有參數的 constructor
若 super class 所有定義的 constructor 皆有參數,會拋出 compilation error: Implicit super constructor XXXX() is undefined. Must explicitly invoke another constructor
http://blog.sanaulla.info/2013/05/14/runtime-polymorphism-in-java/
sub class 繼承 super class 後,sub class 的 constructor 一定要呼叫某一個 super class 的 constructor
若沒有宣告任何 super(...) 時,預設將呼叫 super class 中沒有參數的 constructor
若 super class 所有定義的 constructor 皆有參數,會拋出 compilation error: Implicit super constructor XXXX() is undefined. Must explicitly invoke another constructor
2013年10月14日 星期一
攔截 Jersey 的 Exception 時略過 Jersey 自身吐出的 Exception
如果在使用 ExceptionMapper 時,攔截了所有的 RuntimeException 的話,預設會連 Jersey 吐的 WebApplicationException 一起攔截
因此會導致像是透過 GET 去存取應該用 POST 存取的 URL 時,應該要吐的 405 Method Not Allowed 一起被攔截並轉成指定的 Response 了。
而單獨略過 WebApplicationException 的方法可以參考 [1]。
因此會導致像是透過 GET 去存取應該用 POST 存取的 URL 時,應該要吐的 405 Method Not Allowed 一起被攔截並轉成指定的 Response 了。
而單獨略過 WebApplicationException 的方法可以參考 [1]。
2013年10月11日 星期五
使用 Jersey + Multi-part 接受檔案上傳
基本參考對象是 [6] 的範例,因為 Jersey 基本上已經做完大部分的事情,所以程式碼其實很簡單
不過在佈署 Jersey 時可能會有一些奇怪的問題~
不過在佈署 Jersey 時可能會有一些奇怪的問題~
2013年10月9日 星期三
在 HTTP header 放入特殊字元或文字
在正常的 HTTP header 中,依據 [1] 的回應,RFC 2616 文件中有以下的描述。
而要放入 ISO-8859-1 不支援的字元時,必須使用 MIME 編碼才行。
Words of *TEXT MAY contain characters from character sets other than ISO-8859-1 [22] only when encoded according to the rules of RFC 2047 [14].因此 HTTP header 在不使用編碼的情況下,預設是以 ISO-8859-1 編碼。
而要放入 ISO-8859-1 不支援的字元時,必須使用 MIME 編碼才行。
解決在 eclipse 輸入中文會變亂碼
在 Windows 7(或 Windows XP)底下,直接從 eclipse 執行內含使用 Scanner 的程式
要接受使用者輸入時,會發現輸入的字串直接輸出都會是亂碼~
其實問題本身是系統編碼跟環境編碼不一致的問題。
因為 Windows 7(或 Windows XP)在繁體中文的環境中預設使用的編碼是 Big5
但是 eclipse 預設的編碼是 UTF-8,因此會發生 eclipse 使用 UTF-8 去編碼實際上是 Big5 的字元,就會變成亂碼了。
要接受使用者輸入時,會發現輸入的字串直接輸出都會是亂碼~
其實問題本身是系統編碼跟環境編碼不一致的問題。
因為 Windows 7(或 Windows XP)在繁體中文的環境中預設使用的編碼是 Big5
但是 eclipse 預設的編碼是 UTF-8,因此會發生 eclipse 使用 UTF-8 去編碼實際上是 Big5 的字元,就會變成亂碼了。