原创 使用main方法啓動tomcat簡潔版

pring boot提供了一種快速使用spring的方式,其中一項就是使用main方法裝配啓動tomcat。他是如何做到的呢? 一. 首先是一個啓動tomcat的簡單例子: 0. 先導入tomcat的jar包(準備工作)。   如果是ma

原创 使用main方法啓動tomcat升級版

在閱讀此篇文章需要先閱讀在此之前的一篇名叫(使用main方法啓動tomcat)的文章作爲準備。https://blog.csdn.net/qq_41294444/article/details/103630352 一. 製作一個可用的to

原创 自定義註解實現接口參數校驗

javax.validation.* 包下提供了部分現成的API可供參數校驗使用,但並不能完全滿足我們的需求。 validation [,vælɪ'deɪʃən] 確認;批准;驗證 constraint [kən'streint] 約束;

原创 使用過濾器實現認證授權

文中代碼不完整,完整代碼地址: https地址:https://github.com/wenliangne/wl.git 路徑:wl/wl/security 零. maven依賴 <properties> <to

原创 微服務鏈路追蹤

簡介:微服務的誕生,帶來了大量的便利,隨之而來的還有大量問題的產生。 將一個龐大的系統切割爲若干個小的系統,各個系統之間相互調用,共同協調完成系統功能。然而在複雜的調用鏈中如果出現了一些問題,比如一條調用鏈路錯誤,如何快速定位錯誤源,一條

原创 java email郵件發送465

爲什麼使用465端口呢: 因爲阿里雲服務器以安全爲由將25端口給封了,無法使用25號端口發送郵件,所以只有使用465端口啦。   實現java發送郵件的過程大體有以下幾步: 1. 準備一個properties文件,該文件用於存放SMTP服

原创 java獲取文件MD5,獲取字符串MD5

 獲取md5值4個步驟: 1.創建MessageDigest對象md5。 2.使用md的update(byte[] buffer)方法將數據更新到md5對象中。 3.使用md5的digest()方法獲得摘要,該摘要是一個長度爲16的數組。

原创 Java socket實現靜態網頁服務器(50行代碼)

客戶端: 使用你的瀏覽器 服務器: 需要自己準備靜態html網頁,網頁放在項目根目錄下(寫過java的應該都不需要看這句話) package com.wenba1314.socket; import java.io.*; import

原创 IDEA常用快捷鍵

常用快捷鍵 Alt+Enter    導入包,修正代碼(異常的拋出,自動創建變量接收返回值) Ctrl+Y/X    刪除光標所在行 Ctrl+D    複製光標所在行到下一方 Ctrl+Alt+L    格式化代碼 Ctrl+/    

原创 java簡單socket實現文件上傳

  服務端   import java.io.DataInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net

原创 多線程時的socket is closed

產生原因:當客戶端創建線程的速度快於服務器創建線程的速度。 當服務器接收到accept生成的的Socket對象,並且還未創建一個新的處理socket的對象時。此時在客戶端再次創建socket對象訪問服務器時,會出現此類異常。 解決辦法:在

原创 常見的數據結構與hashset存儲過程

常見的數據結構 1.棧 棧,tack,又稱堆棧,他是運算受限的線性表。其限制是只允許在一端進行插入和刪除操作。 存取特點:先進後出。 壓棧:將指定元素存儲到棧頂。 彈棧:取出棧頂的元素。 2.隊列 隊列,queue,簡稱隊,同棧一樣,也是

原创 java流中的相互轉換

總結:無論從哪裏轉,都可通過read先轉換爲字節數組或者字符數組,然後再使用write寫入需要轉換後的對象中,這是一個通用的方式。字符流與字節流之間的相互轉換也是如此,但會用到下面的幾個函數。 byte[] 轉 string String