基本概念

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>

maven默认web项目中的web.xml替换版本(参照Tomact的/webapps/ROOT/WEB-INF/web.xml)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0"
         metadata-complete="true">
</web-app>

IT小马
1.2k 声望166 粉丝

Php - Go - Vue - 云原生