国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

14天學(xué)會:基于J2EE的JAVA WEB基礎(chǔ)

這篇具有很好參考價值的文章主要介紹了14天學(xué)會:基于J2EE的JAVA WEB基礎(chǔ)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

系列文章

手把手教你:基于Django的新聞文本分類可視化系統(tǒng)(文本分類由bert實現(xiàn))

手把手教你:基于python的文本分類(sklearn-決策樹和隨機森林實現(xiàn))

手把手教你:巖石樣本智能識別系統(tǒng)


一、學(xué)習(xí)文檔簡介

本文通過一個14天的學(xué)習(xí)文檔教會大家學(xué)會基于J2EE的JAVA WEB基礎(chǔ)

本次上傳的資源比較大,因此分成了4份進行上傳包含了14天所有的學(xué)習(xí)課程和代碼資料,因為CSDN上傳的資源綁定博客只能綁定一個資源,完整的資料鏈接我已經(jīng)放到博客末尾了。

14天的學(xué)習(xí)資料包括以下內(nèi)容:

  • day01_基礎(chǔ)加強
  • day02_MySQL基礎(chǔ)
  • day03_MySQL約束
  • day04_MySQL多表&事務(wù)
  • day05_JDBC
  • day06_JDBC連接池&JDBCTemplate
  • day07_HTML
  • day08_HTML&CSS
  • day09_JavaScript基礎(chǔ)
  • day10_JavaScript高級
  • day11_BootStrap
  • day12_xml
  • day13_Tomcat&Servlet
  • day14_Servlet&HTTP&Request

14天學(xué)會:基于J2EE的JAVA WEB基礎(chǔ),學(xué)習(xí)資料,java,java-ee,前端,mysql,web

博主也參考過網(wǎng)上諸多JAVA的相關(guān)學(xué)習(xí)文章,但大多是理論大于實踐。很多同學(xué)在操作中肯定需要簡單易懂甚至直接包含大量實踐代碼的學(xué)習(xí)資料。

也正是因為我發(fā)現(xiàn)網(wǎng)上大多的帖子只是針對原理進行介紹,代碼實現(xiàn)的相對很少。

如果您有以上想法,那就找對地方了!


不多廢話,直接進入正題!

二、部分課程簡介

第一天JAVA基礎(chǔ)強化

每天的學(xué)習(xí)文檔包含:學(xué)習(xí)筆記、代碼、相關(guān)資料:

14天學(xué)會:基于J2EE的JAVA WEB基礎(chǔ),學(xué)習(xí)資料,java,java-ee,前端,mysql,web

  • 這里的課程筆記都是博主自己學(xué)習(xí)后記錄的,畫的圖稍微有些丑,大家講究著看

JAVA代碼的三個階段

14天學(xué)會:基于J2EE的JAVA WEB基礎(chǔ),學(xué)習(xí)資料,java,java-ee,前端,mysql,web

測試分類

14天學(xué)會:基于J2EE的JAVA WEB基礎(chǔ),學(xué)習(xí)資料,java,java-ee,前端,mysql,web

學(xué)習(xí)筆記

# 今日內(nèi)容
	1. Junit單元測試
	2. 反射
	3. 注解


## Junit單元測試:
	* 測試分類:
		1. 黑盒測試:不需要寫代碼,給輸入值,看程序是否能夠輸出期望的值。
		2. 白盒測試:需要寫代碼的。關(guān)注程序具體的執(zhí)行流程。

	* Junit使用:白盒測試
		* 步驟:
			1. 定義一個測試類(測試用例)
				* 建議:
					* 測試類名:被測試的類名Test		CalculatorTest
					* 包名:xxx.xxx.xx.test		cn.itcast.test

			2. 定義測試方法:可以獨立運行
				* 建議:
					* 方法名:test測試的方法名		testAdd()  
					* 返回值:void
					* 參數(shù)列表:空參

			3. 給方法加@Test
			4. 導(dǎo)入junit依賴環(huán)境

		* 判定結(jié)果:
			* 紅色:失敗
			* 綠色:成功
			* 一般我們會使用斷言操作來處理結(jié)果
				* Assert.assertEquals(期望的結(jié)果,運算的結(jié)果);

		* 補充:
			* @Before:
				* 修飾的方法會在測試方法之前被自動執(zhí)行
			* @After:
				* 修飾的方法會在測試方法執(zhí)行之后自動被執(zhí)行


## 反射:框架設(shè)計的靈魂
	* 框架:半成品軟件??梢栽诳蚣艿幕A(chǔ)上進行軟件開發(fā),簡化編碼
	* 反射:將類的各個組成部分封裝為其他對象,這就是反射機制
		* 好處:
			1. 可以在程序運行過程中,操作這些對象。
			2. 可以解耦,提高程序的可擴展性。


	* 獲取Class對象的方式:
		1. Class.forName("全類名"):將字節(jié)碼文件加載進內(nèi)存,返回Class對象
			* 多用于配置文件,將類名定義在配置文件中。讀取文件,加載類
		2. 類名.class:通過類名的屬性class獲取
			* 多用于參數(shù)的傳遞
		3. 對象.getClass():getClass()方法在Object類中定義著。
			* 多用于對象的獲取字節(jié)碼的方式

		* 結(jié)論:
			同一個字節(jié)碼文件(*.class)在一次程序運行過程中,只會被加載一次,不論通過哪一種方式獲取的Class對象都是同一個。


	* Class對象功能:
		* 獲取功能:
			1. 獲取成員變量們
				* Field[] getFields() :獲取所有public修飾的成員變量
				* Field getField(String name)   獲取指定名稱的 public修飾的成員變量

				* Field[] getDeclaredFields()  獲取所有的成員變量,不考慮修飾符
				* Field getDeclaredField(String name)  
			2. 獲取構(gòu)造方法們
				* Constructor<?>[] getConstructors()  
				* Constructor<T> getConstructor(類<?>... parameterTypes)  

				* Constructor<T> getDeclaredConstructor(類<?>... parameterTypes)  
				* Constructor<?>[] getDeclaredConstructors()  
			3. 獲取成員方法們:
				* Method[] getMethods()  
				* Method getMethod(String name, 類<?>... parameterTypes)  

				* Method[] getDeclaredMethods()  
				* Method getDeclaredMethod(String name, 類<?>... parameterTypes)  

			4. 獲取全類名	
				* String getName()  


	* Field:成員變量
		* 操作:
			1. 設(shè)置值
				* void set(Object obj, Object value)  
			2. 獲取值
				* get(Object obj) 

			3. 忽略訪問權(quán)限修飾符的安全檢查
				* setAccessible(true):暴力反射



	* Constructor:構(gòu)造方法
		* 創(chuàng)建對象:
			* T newInstance(Object... initargs)  

			* 如果使用空參數(shù)構(gòu)造方法創(chuàng)建對象,操作可以簡化:Class對象的newInstance方法


	* Method:方法對象
		* 執(zhí)行方法:
			* Object invoke(Object obj, Object... args)  

		* 獲取方法名稱:
			* String getName:獲取方法名


	* 案例:
		* 需求:寫一個"框架",不能改變該類的任何代碼的前提下,可以幫我們創(chuàng)建任意類的對象,并且執(zhí)行其中任意方法
			* 實現(xiàn):
				1. 配置文件
				2. 反射
			* 步驟:
				1. 將需要創(chuàng)建的對象的全類名和需要執(zhí)行的方法定義在配置文件中
				2. 在程序中加載讀取配置文件
				3. 使用反射技術(shù)來加載類文件進內(nèi)存
				4. 創(chuàng)建對象
				5. 執(zhí)行方法


## 注解:
	* 概念:說明程序的。給計算機看的
	* 注釋:用文字描述程序的。給程序員看的

	* 定義:注解(Annotation),也叫元數(shù)據(jù)。一種代碼級別的說明。它是JDK1.5及以后版本引入的一個特性,與類、接口、枚舉是在同一個層次。它可以聲明在包、類、字段、方法、局部變量、方法參數(shù)等的前面,用來對這些元素進行說明,注釋。
	* 概念描述:
		* JDK1.5之后的新特性
		* 說明程序的
		* 使用注解:@注解名稱
		
	
	* 作用分類:
		①編寫文檔:通過代碼里標(biāo)識的注解生成文檔【生成文檔doc文檔】
		②代碼分析:通過代碼里標(biāo)識的注解對代碼進行分析【使用反射】
		③編譯檢查:通過代碼里標(biāo)識的注解讓編譯器能夠?qū)崿F(xiàn)基本的編譯檢查【Override】


	* JDK中預(yù)定義的一些注解
		* @Override	:檢測被該注解標(biāo)注的方法是否是繼承自父類(接口)的
		* @Deprecated:該注解標(biāo)注的內(nèi)容,表示已過時
		* @SuppressWarnings:壓制警告
			* 一般傳遞參數(shù)all  @SuppressWarnings("all")

	* 自定義注解
		* 格式:
			元注解
			public @interface 注解名稱{
				屬性列表;
			}

		* 本質(zhì):注解本質(zhì)上就是一個接口,該接口默認繼承Annotation接口
			* public interface MyAnno extends java.lang.annotation.Annotation {}

		* 屬性:接口中的抽象方法
			* 要求:
				1. 屬性的返回值類型有下列取值
					* 基本數(shù)據(jù)類型
					* String
					* 枚舉
					* 注解
					* 以上類型的數(shù)組

				2. 定義了屬性,在使用時需要給屬性賦值
					1. 如果定義屬性時,使用default關(guān)鍵字給屬性默認初始化值,則使用注解時,可以不進行屬性的賦值。
					2. 如果只有一個屬性需要賦值,并且屬性的名稱是value,則value可以省略,直接定義值即可。
					3. 數(shù)組賦值時,值使用{}包裹。如果數(shù)組中只有一個值,則{}可以省略
		
		* 元注解:用于描述注解的注解
			* @Target:描述注解能夠作用的位置
				* ElementType取值:
					* TYPE:可以作用于類上
					* METHOD:可以作用于方法上
					* FIELD:可以作用于成員變量上
			* @Retention:描述注解被保留的階段
				* @Retention(RetentionPolicy.RUNTIME):當(dāng)前被描述的注解,會保留到class字節(jié)碼文件中,并被JVM讀取到
			* @Documented:描述注解是否被抽取到api文檔中
			* @Inherited:描述注解是否被子類繼承


	* 在程序使用(解析)注解:獲取注解中定義的屬性值
		1. 獲取注解定義的位置的對象  (Class,Method,Field)
		2. 獲取指定的注解
			* getAnnotation(Class)
			//其實就是在內(nèi)存中生成了一個該注解接口的子類實現(xiàn)對象

		            public class ProImpl implements Pro{
		                public String className(){
		                    return "cn.itcast.annotation.Demo1";
		                }
		                public String methodName(){
		                    return "show";
		                }
		            }
		3. 調(diào)用注解中的抽象方法獲取配置的屬性值
	

	* 案例:簡單的測試框架
	* 小結(jié):
		1. 以后大多數(shù)時候,我們會使用注解,而不是自定義注解
		2. 注解給誰用?
			1. 編譯器
			2. 給解析程序用
		3. 注解不是程序的一部分,可以理解為注解就是一個標(biāo)簽

部分代碼

14天學(xué)會:基于J2EE的JAVA WEB基礎(chǔ),學(xué)習(xí)資料,java,java-ee,前端,mysql,web

  • AnnoDemo1.java
package cn.itcast.annotation;

/**
 * 注解javadoc演示
 *
 * @author itcat
 * @version 1.0
 * @since 1.5
 */
public class AnnoDemo1 {

    /**
     * 計算兩數(shù)的和
     * @param a 整數(shù)
     * @param b 整數(shù)
     * @return 兩數(shù)的和
     */
    public int add(int a, int b ){
        return a + b;
    }
}


  • AnnoDemo2.java
package cn.itcast.annotation;

import java.util.Date;

/**
 * JDK中預(yù)定義的一些注解
 * 		* @Override	:檢測被該注解標(biāo)注的方法是否是繼承自父類(接口)的
 * 		* @Deprecated:該注解標(biāo)注的內(nèi)容,表示已過時
 * 		* @SuppressWarnings:壓制警告
 *
 *
 */

@SuppressWarnings("all")
public class AnnoDemo2 {

    @Override
    public String toString() {
        return super.toString();
    }

    @Deprecated
    public void show1(){
        //有缺陷
    }

    public void show2(){
        //替代show1方法
    }

    public void demo(){
        show1();
        Date date = new Date();
    }
}

因為后續(xù)涉及的課程和代碼較多,我這就不一一列舉了,下載鏈接我放到了下面

三、完整課程代碼地址

由于項目代碼量和數(shù)據(jù)集較大,感興趣的同學(xué)可以下載完整代碼,使用過程中如遇到任何問題可以在評論區(qū)評論或者私信我,我都會一一解答。

完整代碼下載:

  • JAVA WEB學(xué)習(xí)課件及代碼詳解第一部分

  • JAVA WEB學(xué)習(xí)課件及代碼詳解第二部分

  • JAVA WEB學(xué)習(xí)課件及代碼詳解第三部分

  • JAVA WEB學(xué)習(xí)課件及代碼詳解第四部分文章來源地址http://www.zghlxwxcb.cn/news/detail-551516.html

到了這里,關(guān)于14天學(xué)會:基于J2EE的JAVA WEB基礎(chǔ)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • J2EE&XML建模

    目錄 用一個xml-config文件實例: 先看config.xml文件 再看?ActionModel ConfigModel ActionNotFoundException ForwardNotFoundException ConfigModelFactory ActionDuplicateDefinitionException ForwardDuplicateDefinitionException InvalidPathException 用一個xml-config文件實例: ?ActionModel ConfigModel ForwardModel? ? ? ActionNotFoundExcepti

    2024年02月16日
    瀏覽(29)
  • J2EE&集合框架&List

    J2EE&集合框架&List

    目錄 一.UML ①集合類圖 ②線下教育平臺用例圖 ?二.List集合特點 ①學(xué)集合框架就是了解容器的數(shù)據(jù)結(jié)構(gòu)(增刪改查) ②有序的 可重復(fù)的 三.遍歷方式 ①?foreach ② iterator 迭代器 ③ for 四.LinkedList ①對比ArrayList是數(shù)據(jù)結(jié)構(gòu) Linkedlist: 鏈表 特點:查詢修改慢,增加刪除快 Arrayli

    2024年02月13日
    瀏覽(23)
  • J2EE&集合框架&Set

    目錄 一.Set特點 特點:無序,不重復(fù) 思考:如果對List容器中的元素去重? 二.遍歷:foreach,迭代器 三.擴容: 初始容量16,負載因子0.75,擴容增量1倍 性能參數(shù):初始容量,負載因子 默認值: 初始容量16,負載因子0.75 示例:new HashSet(20, 0.5f); 四.HashSet 五.思考 1. 如何給Arra

    2024年02月13日
    瀏覽(29)
  • J2EE&通用分頁02

    J2EE&通用分頁02

    目錄 一.重構(gòu)-提取公用方法???????? ? ?1.為了進行公共方法的抽取,需要找出上面實習(xí)中的可通用部分,和差異化部分 ? ? 2.公用方法封裝思路 ? ? ? 3.?具體實現(xiàn) 二.分頁標(biāo)簽 2.1 準(zhǔn)備一個Servlet ?3.2 結(jié)果展示頁面 三.?過濾器解決中文亂碼問題 四.加入分頁功能 四.封裝分

    2024年02月15日
    瀏覽(21)
  • J2EE&集合框架&Map

    J2EE&集合框架&Map

    目錄 一.Map特點 1.無序,鍵值對,鍵不能重復(fù),值可以重復(fù) 2.鍵重復(fù)則覆蓋,沒有繼承Collection接口 二.遍歷方式 1.拿到key,再拿值2.拿到映射關(guān)系,鍵值都有??取出保存所有Entry的Set,再遍歷此Set即可 三.HashMap與Hashtable的區(qū)別 1.Hashtable更安全?2.JDK 1.8之前hashtable的key不能存放null

    2024年02月15日
    瀏覽(22)
  • J2EE&集合框架&set集合

    目錄 一.Set特點 特點:無序,不重復(fù) 思考:如果對List容器中的元素去重? 二.遍歷:foreach,迭代器 三.擴容: 初始容量16,負載因子0.75,擴容增量1倍 性能參數(shù):初始容量,負載因子 默認值: 初始容量16,負載因子0.75 示例:new HashSet(20, 0.5f); 四.HashSet 五.思考 1. 如何給Arra

    2024年02月13日
    瀏覽(31)
  • J2EE項目部署與發(fā)布(Windows版本)

    J2EE項目部署與發(fā)布(Windows版本)

    目錄 一、會議OA單體項目Windows部署 1.1 數(shù)據(jù)測試 1.2 項目部署 1.3 報錯解決 1.4 最終效果 二、spa前后端分離項目Windows部署 2.1 后端代碼測試 2.2 前端代碼測試 2.3 項目部署 2.3.1 數(shù)據(jù)導(dǎo)入 2.3.2 后端部署 2.3.3 前端部署 2.3.3.1 Node.js環(huán)境配置 2.3.4 端口問題解決 2.3.4.1 method1 2.3.4.2 meth

    2024年02月07日
    瀏覽(47)
  • J2EE項目部署與發(fā)布(Linux版本)

    J2EE項目部署與發(fā)布(Linux版本)

    目錄 一.jdktomcat安裝 1.jdk的安裝 ?1.2解壓對應(yīng)的安裝包 1.3配置環(huán)境變量? 2.tomcat的安裝? 二.mysql的安裝 三.后端接口部署 ?后端部署 導(dǎo)入war包 修改端口? 開啟訪問 1.jdk的安裝 登錄VMware Workstation Pro 然后連接MobaXterm? ? ? 將 jdk tomcat mysql 導(dǎo)入到MobaXterm? ?1.2解壓對應(yīng)的安裝包 ?

    2024年02月06日
    瀏覽(16)
  • J2EE自定義mvc【框架配置及功能】

    J2EE自定義mvc【框架配置及功能】

    目錄 一、配置步驟 二、配置框架前三步 導(dǎo)入相應(yīng)的jar 導(dǎo)入相應(yīng)的Class 導(dǎo)入xml文件 三、優(yōu)化基本操作(增刪改) 1、基礎(chǔ)優(yōu)化 編寫實體類 編寫B(tài)ookDao類 優(yōu)化BookDao JUnit測試 2、后臺優(yōu)化 3、前端優(yōu)化 將框架打成jar包,然后導(dǎo)入新工程,并且把框架的依賴jar包導(dǎo)入進去 將分頁標(biāo)

    2024年02月12日
    瀏覽(23)
  • 虛擬機部署與發(fā)布J2EE項目(Linux版本)

    虛擬機部署與發(fā)布J2EE項目(Linux版本)

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 艷艷耶??:個人主頁 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 個人專欄 :《Spring與Mybatis集成整合》《Vue.js使用》 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 越努力 ,越幸

    2024年02月06日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包