原创 使用Maven項目搭建SpringBoot框架的簡單web項目。

目錄 前言: 搭建步驟: 1、新建Maven項目骨架。 2、pom.xml文件中,繼承SpringBoot的Maven模版 3、pom.xml文件中,添加web項目所需的依賴 4、pom.xml文件中,添加SpringBoot項目打包需要

原创 在Tomcat中實現虛擬主機 (在Tomcat中實現獨立域名映射應用,而不是以目錄的形式)

問題背景: 在常規情況下,如果我們部署2個用到Tomcat中,只能將一個應用命名爲ROOT,在做了域名-IP的映射之後,我們可以通過類似http://www.jangle.xyz的方式訪問該應用。 但如果我們添加一個新的應用:如hello

原创 使用ServerSocket實現簡單的服務器功能(Java)

簡單的一個socketServer,啓動後使用本地電腦執行telnet 127.0.0.1 8189 進行訪問。 通過Telnet客戶端輸入內容,服務端將客戶端輸入的內容進行打印。 若客戶端輸入,Bye, 則客戶端與服務器斷開連接,服務端

原创 使用Socket實現簡單的客戶端功能(Java)

此處使用java編寫一個客戶端,訪問ServerSocket,將獲取到的服務端輸出信息進行打印。 注:要先啓動ServerSocketTest   package xyz.jangle.socket.test; import java

原创 Java NIO 文件操作的使用Demo

package xyz.jangle.file.test; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; impor

原创 Tomcat鏈接器Connector的設計概述

目錄 1、Connector的設計 2、從Tomcat應用服務器的設計視角看Connector 1、Connector的設計 想要與Container配合實現完整的服務器功能,Connector需要實現如下功能: 監聽服務器端口,讀取來自

原创 Mybatis獲取新增記錄(insert)的主鍵值

Mysql、SQL Server: <insert id="insert" parameterType="xyz.jangle.model.BsTest" useGeneratedKeys="true" keyPro

原创 web服務器和應用服務器的區別

web服務器:當一個請求(request)被送到Web服務器裏來時,它只單純的把請求(request)傳遞給可以很好的處理請求(request)的程序(各種服務端腳本程序)。Web服務器僅僅提供一個可以執行服務器端(server-side

原创 Tomcat內存配置

 目錄:${tomcat_home}/bin 1.catalina.bat(windows) set JAVA_OPTS=-Xms256m -Xmx512m 2.catalina.sh(linux) JAVA_OPTS=-Xms102

原创 Tomcat的總體架構概覽(v8.5)

  1、Server指服務器,它接收客戶端發送的請求數據並解析,完成相關業務處理,然後把處理結果作爲響應返回給客戶端。 2、Service分2個大部分: 2.1Connector連接器:負責接收客戶端發送的請求數據並解析,把處理結果響應

原创 關於MySQL大數據量,依據外鍵進行數據更新的操作。

背景介紹: 存在業務主表a, 包含大量字段 a_1,a_2,a_3... 。 存在從表b,包含外鍵(主表主鍵 a_1) 和業務屬性 a_3,a_6,a_9。 由於從表b需要增加業務主表的a_11。將表b增加一列 b_11,其列內容需要從主

原创 maven打包時,將war輸出到指定目錄,並重命名。

配置pom.xml文件, 添加插件: <!-- 打包時即package 時將war打到指定目錄 --> <plugin> <groupId>org.apache.maven.plugins</groupId>

原创 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path(JSP報錯)

問題:JSP頁面報錯: The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 原因:因servlet是應用服務器(如:to

原创 Spring定時任務是否會重複執行(多線程執行)問題確認。

問題拋出:     當我們設置一個定時任務時間間隔爲5秒,但我們的方法需要執行15秒。 那麼定時任務是否會啓用多個線程,疊加執行? 測試: 定時任務配置: <task:scheduled-tasks> <task:s

原创 提升應用系統運行性能和服務能力

1、數據庫方面 1.1、配置連接池:合理設置連接池的保有量,增長量,連接保持時長(正確評估系統的併發量,高峯期訪問量,減少連接創建與銷燬的開銷) 1.2、優化表設計:對高頻率連接查詢進行數據冗餘(尤其是數據量極大的表、將需要連接查詢的主表