<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      第一章 JavaEE應用和開發環境

      1.1 java EE應用概述

      1、java EE的分層模型

      數據庫--【提供持久化服務】--》Domain Object層 --【封裝】--〉DAO層--【提供數據訪問服務】--》業務邏輯層--【提供業務邏輯實現】--〉MVC的控制器層--【顯示】--》前端

      優點:松耦合

      2、Java EE應用的組件

      • 1)前端組件:主要負責收集用戶輸入數據,或者向客戶顯示系統狀態。JSP、FreeMarker、JQuery、Angular、JSON、HTML5+CSS
      • 2)控制器組件:對于java EE 的MVC框架而言,框架負責提供一個核心控制器,而核心控制器負責攔截用戶請求,并將請求轉發給用戶實現的控制器組件。而這些用戶實現的控制器則負責處理調用業務邏輯方法,處理用戶請求。
      • 3)業務邏輯組件:核心組件,實現系統的業務邏輯。通常,一個業務邏輯方法對應一次用戶操作。一個業務邏輯方法應該是一個整體。因此要求對業務邏輯方法增加事務性。業務邏輯方法僅僅負責實現業務邏輯,不應該進行數據庫訪問。因此業務邏輯組件中不應該出現原始的MyBatis、JDBC等API。
      • 4)DAO組件:Data Access Object,也被稱為數據訪問對象,這種類型的對象比較缺乏變化,每個DAO組件都提供Domain Object基本的創建、查詢、更新、刪除等操作,這些操作對應于數據表的CRUD等原子操作。當然,如果采用不同的持久層訪問技術,DAO組件的實現會完全不同,為了分離業務邏輯組件的實現與DAO組件的實現,程序應該為每個DAO組件都提供接口,業務邏輯層組件面向DAO接口編程,這樣才能提供更好的解耦。
      • 5)領域對象組件:Domain Object 抽象了系統的對象模型,通常而言,這些領域對象的狀態都必須保存在數據庫里,因此,每個領域對象通常對應一個或多個數據表,領域對象需要提供對數據記錄訪問的方式。

      3、Java EE 應用的結構和優勢

      系統后期維護、擴展需要成本,軟件系統需要很好的伸縮性。
      優勢:松耦合,讓應用之間的耦合停留在接口層次,而不是代碼層次。

      4、常用的Java EE 服務器

      輕量級java EE 架構:Spring MVC+Spring+MyBatis,只需要簡單的web服務器就可以運行,不需要專業的java EE服務器支持
      常見的Web服務器:
      1)Tomcat
      2)Jetty:可做嵌入式服務器
      3)Resin

      常見的Java EE服務器:
      1)JBoss
      2)GlassFish
      3)WebLogic和WebSphere

      1.2 輕量級Java EE應用相關技術

      1、JSP、Servlet 4.x、Java Bean及替代技術

      JSP:最早的Java EE規范之一,充當Java EE的表現層,簡單易用,只負責簡單的顯示邏輯,無法直接訪問數據的底層狀態。
      Servlet:和JSP完全統一,JSP必須被Web服務器編譯為Servlet,真正在Web服務器內運行的是Servlet。JSP相當于草稿,真正提供HTTP服務的是Servlet。Servlet包含JSP。
      Java Bean:傳輸數據,中間層的組件會將應用底層的狀態信息封裝成JavaBean集,這些JavaBean也被稱為DTO(Data Transfer Object,數據傳輸對象),并將DTO集傳到JSP頁面,從而讓JSP可以顯示應用的底層狀態。

      替代:FreeMarker、Velocity充當表現層技術,可以替代JSP

      2、Spring MVC及替代技術

      Spring 3以前:簡單的對傳統MVC框架進行模仿。
      Spring3之后:Spring MVC 一個脫胎換骨重生的MVC框架:
      功能豐富而強大的注解;簡單而強大的請求映射和參數綁定;基于AOP的異常處理機制;以ConversionService為中心的類型轉換;基于JSR 303的聲明式數據校驗。

      替代:目前Spring MVC是最優秀的Java Web MVC框架。

      3、MyBatis及替代技術

      傳統的java應用訪問數據庫:JDBC,JDBC采用的是一種基于SQL的操作方式,這種操作方式和java語言的面向對象特征不太一致,所以java EE需要一種技術(ORM,Object Relation Mapping,對象關系映射)讓java以面向對象的方式操作關系數據庫。
      兩種開源、輕量級的ORM框架:MyBatis、Hibernate。
      MyBatis:半自動框架,將SQL語言映射為對象集,也被稱為SQL Mapping工具,SQL需要手動編寫。出于性能考慮選擇。
      Hibernate:全自動框架,將普通的java對象(POJO)映射成持久化類,允許應用程序以面向對象的方式操作POJO,該框架負責將這種操作轉換成底層的SQL操作。不需要手動編寫SQL。

      替代:TopLink、OJB替代Hibernate,資料少文檔少,需要勇氣。

      4、Spring及替代技術

      Spring沒有太多新東西
      1)抽象大量的java EE常用代碼,將它們抽象成一個框架,通過使用Spring可以大幅度提高開發效率。
      2)充滿了各種設計模式的應用,如單例模式、工廠模式、抽象工廠模式、命令模式、職責鏈模式、代理模式等。
      3)提供了一個設計優良的MVC框架:Spring MVC,使用Spring 可以直接使用Spring MVC框架;但是沒有持久層框架,所以可以和各種持久層框架無縫貼合。

      目前無較好的替代解決方案。

      5、使用框架的好處

      1)可維護性、復用

      1.3 Tomcat的下載和安裝

      1、下載安裝Tomcat

      參考博客:
      https://blog.csdn.net/weixin_39149333/article/details/124623579

      tomcat 9
      tar.gz
      安裝目錄:/Users/huqiqi/Library/tomcat/bin

      2、配置Tomcat環境變量:

      修改文件:
      huqiqi@hqqMAC ~ % vim ~/.bash_profile

      在文件中增加一行

      PATH=$PATH:/Users/huqiqi/Library/tomcat/bin

      生效環境變量:
      huqiqi@hqqMAC ~ % source ~/.bash_profile

      3、啟動Tomcat:

      cd /Users/huqiqi/Library/tomcat/bin
      huqiqi@hqqMAC bin % startup.sh
      Using CATALINA_BASE:   /Users/huqiqi/Library/tomcat
      Using CATALINA_HOME:   /Users/huqiqi/Library/tomcat
      Using CATALINA_TMPDIR: /Users/huqiqi/Library/tomcat/temp
      Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
      Using CLASSPATH:       /Users/huqiqi/Library/tomcat/bin/bootstrap.jar:/Users/huqiqi/Library/tomcat/bin/tomcat-juli.jar
      Using CATALINA_OPTS:   
      Tomcat started.
      huqiqi@hqqMAC bin % 
      

      啟動成功會提示如上圖:Tomcat started。
      打開網頁輸入:http://localhost:8080/
      image
      出現上圖說明啟動成功。

      4、停止tomcat

      shutdown.sh

      5、Tomcat配置服務端口

      /Users/huqiqi/Library/tomcat/conf/server.xml
      修改端口為:8888

          <!--Connector port="8080" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443"
                     maxParameterCount="1000"
          -->           
          <Connector port="8888" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443"
                     maxParameterCount="1000"
                     />
      

      再次啟動:
      報錯:zsh:command not found
      解決:
      最新系統的macbook把zsh作為默認shell,而環境變量添加到了bash中,把 bash shell 中.bash_profile 全部環境變量加入zsh shell里就可以了。

      1)復制
      cat ~/.bash_profile

      2)放到.zshrc

      vim ~/.zshrc
      :wq // 保存
      source ~/.zshrc // 使生效

      關閉terminal后,重啟tomcat
      image

      再次訪問:
      http://localhost:8888/

      6、列出web應用根目錄下的所有頁面

      /Users/huqiqi/Library/tomcat/conf/web.xml
      修改:listings參數的值為true

          <servlet>
              <servlet-name>default</servlet-name>
              <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
              <init-param>
                  <param-name>debug</param-name>
                  <param-value>0</param-value>
              </init-param>
              <init-param>
                  <param-name>listings</param-name>
                  <param-value>true</param-value>
              </init-param>
              <load-on-startup>1</load-on-startup>
          </servlet>
      

      7、進入控制臺

      Manager App:點擊后需要輸入密碼

      配置文件增加角色、用戶名和密碼:
      /Users/huqiqi/Library/tomcat/conf/tomcat-users.xml

      <tomcat-users>
        <!-- 增加一個角色,指定角色名-->
        <role rolename="manager-gui"/>
        <!-- 增加一個用戶,指定用戶名、密碼、角色-->
        <user username="manager" password="manager" roles="manager-gui"/>
      </tomcat-users>
      

      Manager App按照新增的用戶名和密碼登錄后:
      image

      說明:
      webapps路徑是Web應用的存放位置,而Manager App控制臺對應的web應用也放在該位置。
      /Users/huqiqi/Library/tomcat/webapps/manager/WEB-INF/web.xml 放的是Manager應用的配置文件
      普通開發者需要訪問匹配:/html/、/status/的資源,所以為該用戶分配一個manager-gui角色即可。

      8、部署web應用

      四種方式:

      • 方式1:利用Tomcat的自動部署
        將web應用復制到Tomcat的webapps目錄下,系統會把該應用部署到Tomcat中。

      • 方式2:利用控制臺部署

      輸入后點擊部署,Tomcat的webapps目錄下會多一個【Context路徑】中寫的文件夾,和【WAR文件或文件夾路徑】中寫的文件夾完全相同。本質還是方式1,利用tomcat的自動部署。

      • 方式3:增加自定義的web部署文件
        1)在conf下新建 Catalina/localhost 目錄
        2)該目錄下新建一個名字任意的XML文件(該文件就是部署web應用的配置文件,作為web應用的虛擬路徑)
        舉例:conf/Catalina/localhost/dd.xml,文件內容如下:

      啟動Tomcat,tomcat將會把 G:/publish/codes/01/aa 路徑下的WebDome文件夾部署成Web應用。http://<server_address>:/dd

      • 方式4:修改server.xml 文件部署web應用
        修改conf下的server.xml 文件,會破壞tomcat的系統文件,不建議采用。

      9、配置tomcat數據源

      兩種:
      1)全局數據源:所有web應用都能訪問,需要修改server.xml 文件,會破壞tomcat的系統文件,不建議采用。
      2)局部數據源:只能在單個的web應用中訪問

      兩種方式都需要提供特定數據庫的JDBC驅動,需要將MySql的JDBC驅動程序復制到Tomcat的lib路徑下。

      操作:
      i:查看mysql的版本:
      huqiqi@hqqMAC ~ % mysqladmin -V
      mysqladmin Ver 8.0.23 for macos10.15 on x86_64 (MySQL Community Server - GPL)
      huqiqi@hqqMAC ~ %
      版本為:8.0.23

      ii:下載相同版本的mysql數據庫的jdbc驅動jar包

      https://cloud.tencent.com/developer/article/2089251?from=15425&areaSource=102001.1&traceId=PZFuqM1DGNNYtJkCywMDB

      iii:解壓后將jar包復制到tomcat的lib路徑下
      /Users/huqiqi/Library/tomcat/lib/mysql-connector-java-8.0.23.jar

      iv:給web應用增加局部數據源
      修改 conf/Catalina/localhost/dd.xml文件:


      以上就是數據源的各種信息。

      1.6 Maven的安裝與使用

      Maven 是 Apache 軟件基金會的一個開源項目,是一個優秀的項目構建工具,它用來幫助開發者管理項目中的 jar,以及 jar 之間的依賴關系、完成項目的編譯、測試、打包和發布等工作。

      1、maven的settings.xml文件

      mac 電腦settings文件的位置并不在顯示的地方:
      /Users/huqiqi/.m2/settings.xml
      打開.m2/對應的文件夾是沒有settings.xml文件的

      正確的路徑
      /Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/conf/settings.xml

      2、settings.xml文件配置

      1)mirror -- 阿里云鏡像,解決優化鏡像下載地址問題

      <mirror>
      		  <id>alimaven</id>
      		  <name>aliyun maven</name>
      		  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      		  <mirrorOf>central</mirrorOf>
      	  </mirror>
      

      2)jdk 版本及工程編碼,解決默認用jdk1.5 亂碼問題

      	  <profile>
      		  <id>jdk18</id>
      		  <activation>
      			  <activeByDefault>true</activeByDefault>
      			  <jdk>1.8</jdk>
      		  </activation>
      		  <properties>
      			  <maven.compiler.source>1.8</maven.compiler.source>
      			  <maven.compiler.target>1.8</maven.compiler.target>
      			  <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      			  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      		  </properties>
      	  </profile>
      

      3)localRepository -- 本地倉庫地址,maven包管理地址

      <localRepository>/Users/huqiqi/.m2/repository</localRepository>
      

      3、maven的優點

      1)原來的項目中需要的jar包必須手動“復制”、”粘貼” 到WEB-INF/lib 項目下,而借Maven,可以將jar包僅僅保存在“倉庫”中,有需要使用的工程只需要“引用”這個文件,并不需要重復復制到工程中。
      2)原來的項目中所需要的jar包都是提前下載好的,而Maven在聯網狀態下會自動下載所需要的jar包。首先在本地倉庫中找,找不到就在網上進行下載。
      3)原來的項目中一個jar包所依賴的其他jar包必須手動導進來,而Maven會自動將被依賴的jar包導進來。
      4)原來的項目一個項目就是一個工程,而借助Maven可以將一個項目拆分成多個工程。

      4、maven工程倉庫官網

      http://mvnrepository.com/
      可以下載自己所需開發jar包

      5、maven pom

      POM(Project Object Model,項目對象模型)是 Maven 的基本組件,它是以 xml 文件的形式存放在項目的根目錄下,名稱為 pom.xml。

      POM 中定義了項目的基本信息,用于描述項目如何構建、聲明項目依賴等等。
      當 Maven 執行一個任務時,它會先查找當前項目的 POM 文件,讀取所需的配置信息,然后執行任務。在 POM 中可以設置如下配置:

      • 項目依賴
      • 插件
      • 目標
      • 構建時的配置文件
      • 版本
      • 開發者
      • 郵件列表

      在創建 POM 之前,首先要確定工程組(groupId),及其名稱(artifactId)和版本,在倉庫中這些屬性是項目的唯一標識。一旦在 pom.xml 文件中配置了所依賴的 jar,Maven 會自動從構件倉庫中下載相應的構件。

      6、maven坐標

      Maven 坐標一套規則,它規定:世界上任何一個構件都可以使用 Maven 坐標并作為其唯一標識,Maven 坐標包括 groupId、artifactId、version、packaging 等元素,只要用戶提供了正確的坐標元素,Maven 就能找到對應的構件。

      任何一個構件都必須明確定義自己的坐標,這是 Maven 的強制要求,任何構件都不能例外。我們在開發 Maven 項目時,也需要為其定義合適的坐標,只有定義了坐標,其他項目才能引用該項目生成的構件。

      Maven 坐標主要由以下元素組成:

      • groupId: 項目組 ID,定義當前 Maven 項目隸屬的組織或公司,通常是唯一的。它的取值一般是項目所屬公司或組織的網址或 URL 的反寫,例如 net.biancheng.www。
      • artifactId: 項目 ID,通常是項目的名稱。
      • version:版本。
      • packaging:項目的打包方式,默認值為 jar。
        以上 4 個元素中 groupId、artifactId 和 version 是必須定義的,packaging 是可選的。

      7、maven倉庫

      本地倉庫+遠程倉庫
      當 Maven 根據坐標尋找構件時,它會首先查看本地倉庫,若本地倉庫存在此構件,則直接使用;若本地倉庫不存在此構件,Maven 就會去遠程倉庫查找,若發現所需的構件后,則下載到本地倉庫使用。如果本地倉庫和遠程倉庫都沒有所需的構件,則 Maven 就會報錯。

      posted @ 2023-06-06 18:54  hqq的進階日記  閱讀(86)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产在线视频精品视频| 亚洲第一香蕉视频啪啪爽| 日韩av在线一区二区三区| 开心婷婷五月激情综合社区| 人人爽人人爽人人片av东京热| 在线免费播放亚洲自拍网| 精品国产福利一区二区| 国产不卡精品视频男人的天堂 | 18禁动漫一区二区三区| 狠狠色丁香婷婷综合尤物| 97精品国产91久久久久久久| 国产精品黄色片在线观看| 日韩伦人妻无码| 国产精品入口麻豆| 亚洲尤码不卡av麻豆| 亚洲欧美国产日韩天堂区| 午夜射精日本三级| 国产成人高清亚洲一区二区| 女人喷液抽搐高潮视频| 国产无吗一区二区三区在线欢| 亚洲成人一区二区av| 亚洲精品韩国一区二区| 南康市| 色老头亚洲成人免费影院| 99国产精品自在自在久久| 亚洲日韩性欧美中文字幕| 精品一区二区久久久久久久网站| 国产精品+日韩精品+在线播放| 国产精品国产三级国产试看| 国产中文字幕一区二区| 亚洲国产长腿丝袜av天堂| 国产在线98福利播放视频| 国产精品久久久久久久9999| 国产成人片无码视频| 亚洲欧洲日韩国内高清| 建湖县| 俄罗斯老熟妇性爽xxxx| 亚洲欧美一区二区成人片| 啪啪av一区二区三区| 深田えいみ禁欲后被隔壁人妻 | 1区2区3区4区产品不卡码网站|