自:Ryan Wang | 責編:樂樂 鏈接:ryanc.cc/archives/hutool-java-tools-lib
簡介
Hutool是Hu + tool的自造詞,前者致敬我的“前任公司”,后者為工具之意,諧音“糊涂”,寓意追求“萬事都作糊涂觀,無所謂失,無所謂得”的境界。
Hutool是一個Java工具包,也只是一個工具包,它幫助我們簡化每一行代碼,減少每一個方法,讓Java語言也可以“甜甜的”。Hutool最初是我項目中“util”包的一個整理,后來慢慢積累并加入更多非業(yè)務(wù)相關(guān)功能,并廣泛學習其它開源項目精髓,經(jīng)過自己整理修改,最終形成豐富的開源工具集。
一個Java基礎(chǔ)工具類,對文件、流、加密解密、轉(zhuǎn)碼、正則、線程、XML等JDK方法進行封裝,組成各種Util工具類,同時提供以下組件:
這兩天使用Hutool把Halo里面的一些代碼給替換掉了,不得不說,用起來十分順心,下面簡單介紹一下我用到的一些Hutool的工具類。
主要是在登錄的時候還有修改密碼的時候用到的,因為數(shù)據(jù)庫里面的密碼是md5加密處理的,所以登錄的時候需要先加密之后再到數(shù)據(jù)庫進行查詢,使用Hutool的話,只需要調(diào)用SecureUtil中的md5方法就可以了。
user = userService.userLoginByName(loginName,SecureUtil.md5(loginPwd));
這個工具類就比較厲害了,不過我在Halo當中用得最多的還是HtmlUtil.encode,可以將一些字符轉(zhuǎn)化為安全字符,防止xss注入和SQL注入,比如下面的評論提交。
comment.setCommentAuthor(HtmlUtil.encode(comment.getCommentAuthor()));
這就是防止有小壞蛋故意寫一些可執(zhí)行的js代碼,然后提交評論,在后臺面板就會執(zhí)行這一段代碼,比較危險,使用encode方法就可以將<script>標簽給轉(zhuǎn)化成<script>,這樣轉(zhuǎn)化之后,js代碼就不會執(zhí)行了。
另外,HtmlUtil還提供了以下方法,有興趣的可以去試一下。
這個工具就更厲害了,完全不需要類似quartz這樣的框架來做定時任務(wù),而且CronUtil也不需要任何其他依賴,只需要在resources下建一個配置文件,然后在程序啟動的時候?qū)⒍〞r任務(wù)開啟就行了,如Halo的定時備份功能(每天凌晨1點備份一次)。
cron.setting:
cc.ryanc.halo.web.controller.admin.BackupController.backupResources = 0 0 1 * * ?
cc.ryanc.halo.web.controller.admin.BackupController.backupDatabase = 0 0 1 * * ?
cc.ryanc.halo.web.controller.admin.BackupController.backupPosts = 0 0 1 * * ?
@Override
public void onApplicationEvent(ContextRefreshedEvent event){
this.loadActiveTheme();
this.loadOptions();
this.loadFiles();
this.loadThemes();
//啟動定時任務(wù)
CronUtil.start();
log.info("定時任務(wù)啟動成功!");
}
好了,就介紹這三個工具類,有興趣的可以去試試其他的工具,挺全的,這應該是我用過最好用的一個工具類庫了,值得一試。
官網(wǎng)地址:hutool.cn/
責制定Web標準的World Wide Web Consortium (W3C)正式發(fā)表了HTML5.1推薦規(guī)格,規(guī)格定義了HTML語言第五大版本的第一個小版本。W3C已在著手制定下個版本HTML5.2。大部分瀏覽器已經(jīng)實現(xiàn)或即將實現(xiàn)HTML5.1引入的新特性和變化。根據(jù)HTML5.1實現(xiàn)報告,Edge/IE在實現(xiàn)進展上要落在Chrome和Firefox后面。
下面給大家介紹下新功能。
1.HTMLFormElement.reportValidity()
如果元素的子控件滿足其驗證約束,HTMLFormElement.reportValidity()方法將返回true。 返回Whenfalse時,對每個無效子項觸發(fā)可取消的無效事件,并將驗證問題報告給用戶。
句法(syntax)
HTMLFormElement.reportValidity()
例子:
document.forms["myform"].addEventListener('invalid', function() {
//Optional response here.
}, false);
document.forms["myform"].addEventListener('submit', function() {
document.forms["myform"].reportValidity();
}, false);
今天筆記本沒有電了,只能到這了,還有更多的看大家興趣了,大概列下:HTMLMediaElement.fastseek()
HTMLElement.forceSpellcheck()
<Input type="week">
<input type="month">
<input type="datetime-local">
ImageBitmap interface
<picture>
<img srcset="">
<details> and <summary>
<iframe allowfullscreen>
registerProtocolHandler()
<menu type="context">
<menuitem>
XMLDocument interface
Restore <a rev="">
在這幾天,除了1月7日加拿大將實施核酸陰性報告搭乘飛機入境新規(guī)定外,還有一個事情讓很多留學生和家長朋友納悶的加拿大政策更新,,,,,各位行家分享,如:《移民局將90天外恢復身份的疫情政策延期至2021年8月》、《重磅!加拿大官宣:臨時身份過期,明年也無需離境!》、《加拿大官宣:簽證過期超過90天也可以恢復身份啦!》等等。
這要先從加拿大簽證政策之前一些規(guī)定說起,根據(jù)加拿大移民局現(xiàn)有的規(guī)定,如果在加拿大境內(nèi)持有學簽、工簽等的臨時居民,在簽證過期且在過期90天內(nèi)續(xù)簽,在續(xù)簽時同時進行一個手續(xù)——恢復身份(Restoration of temporary resident status)。
關(guān)于這一點我之前寫過一些關(guān)于有關(guān)身份恢復(Restora)的文章:
《《留學生簽證故事》——續(xù)簽大簽時,注意“身份恢復”》
《“老船長教路”:逾期學習許可續(xù)簽(同時身份恢復)實錄》
《加拿大境內(nèi)續(xù)簽臨時豁免指紋信息?冷靜冷靜!最新的官網(wǎng)沒有這樣說!| 倒是移民局更新了“申請恢復身份的臨時居民辦理延期手續(xù)”政策》
如果看到我上面最后這篇文章分享,就知道,其實移民局現(xiàn)在出來的并不是新鮮玩意,在7月14日已經(jīng)有類似政策,而當時政策是從2020年1月1日日起到2020年12月31日,而現(xiàn)在所謂新規(guī)只是延續(xù)原來更新規(guī)定到2021年8月31日而已!
這次政策的具體官方鏈接如下:
https://www.canada.ca/en/immigration-refugees-citizenship/news/notices/public-policy-extended-restore-status.html
(對照一下2020年7月14日的政策,除了到期日延后,沒有什么變化)
具體翻譯如下:
《關(guān)于臨時居民延長申請恢復身份的公共政策》
渥太華,2020年12月31日公布,自2021年1月1日起,加拿大移民局將更新一項臨時公共政策,關(guān)于加拿大臨時居民提供更多時間申請恢復其在加拿大的合法身份。
這項公共政策自2020年7月開始實施,但即將到期。該政策,幫助許多加拿大臨時居民,在受到世界范圍內(nèi)與健康和旅行有關(guān)的限制,可能讓他們需要在加拿大停留的時間比預期更長而提供便利政策。
根據(jù)這項公共政策,在2020年1月30日至2021年5月31日期間有效臨時身份已經(jīng)到期的訪客、學生和工人,將在2021年8月31日之前恢復其身份。此外,該公共政策將繼續(xù)允許申請雇主特定工作許可的前持有工作許可證者,在恢復身份申請而未出結(jié)果前,可以在加拿大工作。
具體申請身份恢復的具體鏈接如下:
https://www.canada.ca/en/immigration-refugees-citizenship/services/coronavirus-covid19/restoration-extension-trv.html
細節(jié)中,有分三種情況來區(qū)分處理的:
——如果你的狀態(tài)過期還不到90天
——如果你的狀態(tài)過期超過90天
——如果你申請恢復你的臨時居民身份作為一個工人與雇主特定的工作許可證
前兩部分很好理解。其中第三點,我補充說明一下,
在你等待你的申請被處理期間,你可能有資格申請合法工作的授權(quán),如果你是下面情況,
1)在你提交申請恢復你的工人身份之前的12個月內(nèi)持有有效的工作許可證;
2)在你的工作許可申請中,包含了LMIA或LMIA豁免雇傭offer中指定的同一雇主和職業(yè)工作。
如何申請臨時工作授權(quán)?
第一步:填寫IRCC網(wǎng)站表格Web form
申請雇主特定工作許可后,填寫IRCC網(wǎng)站表格Web form。當你填寫你的查詢部分,你必須復制文本和粘貼到網(wǎng)上表格。確保你填在方括號的部分,包括:日期、雇主名字、你的工作職位
如果您是紙上申請,但不知道您的申請編號,請?zhí)顚懩目爝f單號。這將確保我們找到您的申請。如果您有其他問題,您需要填寫一個新的IRCC Web表單。
第二步:等待我們的郵件
等我們給你發(fā)郵件。在我們處理你的申請時,它會確認你可以開始你的新工作或為你的新雇主工作。
如果你在網(wǎng)上申請工作許可證,你應該在大約30個工作日內(nèi)收到郵件。如果你是書面申請,可能需要更長的時間。
更新日期:2020年12月31日
——————
可能大家越看越糊涂,對以上政策,我簡單解讀如下:
1)關(guān)于身份恢復到2021年8月31日政策,我舉一個例子來說明,可能大家會可以更好理解這項政策:例如學生小明,學簽在2021年1月6日到期,如果按照以往政策,他必須在90天內(nèi)續(xù)簽(就是4月6日前),而且續(xù)簽時,同時做身份恢復(Restoration of temporary resident status)。根據(jù)以上這政策,小明在2020年8月31日前遞交續(xù)簽,同時做身份恢復也是可以的。
2)如果之前持有的工簽過期的工人,辦理LMIA或者豁免LMIA類別的封閉式工簽,在恢復身份期間,仍然可以合法工作。
3)總體上,這個政策是給在加拿大逗留身份因為任何原因過期的人提供了超過90天仍然可以恢復身份的機會的政策,但是這個政策不是自動延期你的身份。所以還是建議大家身份到期前(哪怕是延期到8月31日前)也需要正常續(xù)簽,這樣才可以免去恢復身份的“罰款”(就是身份恢復的費用),以及避免徒增逾期滯留的記錄。
4)對于已經(jīng)回國而簽證逾期后續(xù)簽的申請人,不需要做身份恢復(統(tǒng)一回復這幾天,不少學生和家長朋友的這個問題)。
(以上來源加拿大官方網(wǎng)站,以官方最新公布為準)
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。