乐趣区

关于java:JavaWeb学习笔记01-TomcatMaven

基本概念

web 应用程序

web 组成

html, css, js

Jsp, servlet

java 程序

jar 包

配置文件(Properties)

JSP/Servlet

sun 公司主推的 B / S 架构,基于 Java 语言,能够承载三高(高并发,高可用,高性能)

B/S:浏览器和服务器

C/S:客户端和服务器

Web 服务器

IIS:微软,ASP,WIndows 自带

Tomcat:Apache 基金会的外围我的项目,是开源收费的轻量级服务器

Tomcat

文件夹 作用
bin 启动,敞开的脚本文件
conf 配置
lib 依赖的 jar 包
logs 日志
webapps 寄存网站内容
Docker 装置

vim docker-compose.yml

version: '3.5'
services:
  tomcat:
    restart: always
    image: tomcat
    container_name: tomcat
    ports:
      - 8080:8080
    volumes:
      - ./courage/ROOT/:/usr/local/tomcat/webapps/ROOT
    environment:
      TZ: Asia/Shanghai

启动:docker-compose up -d

本地装置

下载地址:https://dlcdn.apache.org/tomc…

解压并复制到 /usr/local/ApacheTomcat/

cd /usr/local/ApacheTomcat/bin 
chmod u+x *.sh
./startup.sh

装置实现

Using CATALINA_BASE:   /usr/local/ApacheTomcat
Using CATALINA_HOME:   /usr/local/ApacheTomcat
Using CATALINA_TMPDIR: /usr/local/ApacheTomcat/temp
Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
Using CLASSPATH:       /usr/local/ApacheTomcat/bin/bootstrap.jar:/usr/local/ApacheTomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

拜访:http://localhost:8080

tomcat 默认端口号:8080

mysql 默认端口号:3306

http 默认端口号:80

https 默认端口号:443

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />       

主机名:localhost

默认网站寄存地位:webapps/ROOT/

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">        

网站构造

- webapps        Tomacat 服务器 web 目录
        - ROOT
            - project        我的项目目录
                - index.html    我的项目首页
                - WEB-INF
                    - classes        java 程序
                    -lib                web 利用依赖的 jar 包
                    -web.xml        网站配置文件
                - static            动态资源
            - css
            -js
            -img
        

Http(超文本传输协定)

  1. 申请行:GET,POST…
  2. 音讯头

    Accept: text/html 数据类型
    Accept-Encoding: gzip 编码
    Accept-Language: 语言
    Cache-Control: 缓存
    Connection: Keep-Alive 申请实现后断开 / 放弃连贯
    Host: 主机 
  3. 响应体

    Refrush: 刷新频率
    Locaton: 让网页从新定位 
  4. 响应状态码

    200        申请胜利
    300        重定向
    400        找不到资源
    500        服务器谬误 

Maven 我的项目架构管理工具

作用:主动导入和配置 jar 包

核心思想:约定大于配置(不要违反束缚)

下载安装

下载地址:https://dlcdn.apache.org/mave…

sudo unzip apache-maven-3.8.3-bin.zip -d /usr/local

vim ~/.bash_profile

export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
source ~/.bash_profile 

验证是否装置胜利

mvn -v
配置环境变量
配置阿里云镜像

settings.xml

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
</mirror>
配置本地仓库 localRepository

建设仓库:

<localRepository>\xxx\maven-repo</localRepository>
在 IDEA 我的项目中应用 maven

New Project > Maven > create from archetype > maven-archetype-webapp

我的项目名

GroupId: 组 id cn.itxiaoma
ArtifactId:我的项目 id javaweb-01-maven

maven 门路

Maven home path: /usr/local/apache-maven-3.8.3
User settings file: /usr/local/apache-maven-3.8.3/conf/settings.xml
Local respository: /usr/local/apache-maven-3.8.3/maven-repo

期待我的项目初始化实现

BUILD SUCCESS

IEDA 中的 maven 配置

Preference > Build > Build Tools > Maven

标记文件夹: 新建 java, resources 文件夹

File > Project Structure > Modules => 指定 Sources 和 Resources
在 IDEA 中配置 Tomcat

Run > Edit Configurations > + > Tomcat Server – Local > Application server: 抉择 Tomcat 目录

Deployment > + > javaweb-01-maven.war(指定拜访目录)

Maven 外围配置 pom.xml

Maven 的高级之处在于,他会帮你导入 JAR 包依赖的其余 jar

打包形式:jar java 利用 war java web 利用

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>
</dependencies>

注:Maven 因为约定大于配置,可能会无奈导出资源

解决方案:在 build 中配置 resources,避免资源导出失败

<!-- 在 build 中配置 resources, 来避免咱们资源导出失败的问题 -->
<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>**/*.properties</exclude>
                <exclude>**/*.xml</exclude>
            </excludes>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>
退出移动版