Application server

  • Tomcat - Apache:應用最廣的JavaWeb服務器
  • JBoss - Redhat:支援Java EE
  • GlassFish - Oracle
  • Resin - Caucho:支援Java EE,應用越來越廣
  • Weblogic - Oracle:需要購買
  • Websphere - IBM:需要購買

tomcat版本

  • tomcat6:support serverlet2.5、jsp2.1、el (2.5需以請求配置文件,7以後annotation)
  • tomcat7:support serverlet3.0、jsp2.2、el2.2、websocket1.1
  • tomcat8:support serverlet3.1、jsp2.3、el3.0、websocket1.1
  • tomcat9:support serverlet4.0、jsp2.3、el3.2、websocket1.1

Donwload

  • step1
    tomcat_download_01
  • step2
    tomcat_download_02

Setting and run

  • step1:unzip apache-tomcat-8.5.78-windows-x64.zip
  • step2:setting JAVA_HOME
    tomcat_setting_01
  • step3:click tomcat資料夾下bin中startup.bat,但出現一閃即逝的畫面
  • step4:cmd 輸入catalina run出現以下錯誤訊息,研判中文資料夾路徑可能有問題,因Jar檔皆存在
    tomcat_setting_02
  • step5:搬到非中文路徑下,執行正常
    tomcat_setting_03
  • step6:default 8080,可以修改conf\server.xml
    tomcat_setting_04
  • step7:關閉tomcat請用shutdown.bat
  • other:服務器集群
    tomcat_setting_05

Tomcat目錄結構

  • bin

    包含tomcat啟動命令、停止tomcat命令等可執行文件

  • conf

    tomcat的設定檔文件

  • lib

    tomcat運行所依賴的jar

  • logs

    log存放位置

  • temp

    tomcat存取臨時文件的文件夾

  • webapps

    放置所有的web項目,每一個資料夾就是一個web項目

    • tomcat啟動默認的是root目錄 -> localhost:8080
    • 一般訪問web項目默認是展示index.html -> localhost:8080/docs
  • work

    保存tomcat運行時編譯的一些文件

eclipse整合tomcat

  • step1:show server tab
    tomcat_embeded_01
  • setp2:select server
    tomcat_embeded_02
  • setp3:embeded tomcat
    tomcat_embeded_03
  • setp4
    tomcat_embeded_04
  • setp5:
    tomcat_embeded_05

summary

  • eclipse整合tomcat後,他創建的是一個服務器鏡像,也就是在eclipse的副本
  • default路徑:workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0
  • 修改預設路徑
    tomcat_embeded_06

dynamic web project

create project

  • step1
    create_project_01
  • step2
    create_project_02
  • step3
    create_project_03
  • step4
    create_project_04
  • step5
    create_project_05
  • step6
    create_project_06
  • step7
    create_project_07
  • step8
    create_project_08

project file structure

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
- 動態web工程
- META-INF:項目基礎訊息(不用管)
- WEB-INF:
- lib:以後引入的jar包放在lib中,它會自動添加到buildpath
- web.xml:
整個web應用的配置設定
<welcom-file-list>定義項目啟動默認的訪問頁面

- 動態創建web:
- eclipse:FirstWeb
- src: 寫java代碼
- build: java代碼編譯後class存放位置
- WebContent: 網頁及靜態文件
- META-INFO
- WEB-INF web應用的配置訊息(web-inf下的東西是受保護的,客戶無法直接存取)
- lib 引入的第三方包
- web.xml web的配置訊息
- 部屬以後:(項目部屬是把WebContent下面的所有內容發布)
- FirstWeb:
- WebContent:
- META-INFO
- WEB-INF
- classes java文件全類名儲存:把classes目錄也叫做類路徑
- lib
- web.xml
- index.html

reference

  • Java Web - 雷豐陽 P67 - P73