javaweb -- tomcat、maven

文章目录

Tomcat

简介

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用。对于一个java初学者来说,Tomcat是最好的选择。

诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

下载

1、去官网下载 :

官网 :https://tomcat.apache.org/

javaweb -- tomcat、maven

2、 解压

javaweb -- tomcat、maven

3、文件夹说明

javaweb -- tomcat、maven

4、启动和关闭 Tomcat (双击文件)

javaweb -- tomcat、maven

javaweb -- tomcat、maven

浏览器访问 : localhost :8080/

javaweb -- tomcat、maven

浏览器 访问localhost:8080默认访问了 Tomcat webapps 文件夹下的root 文件夹(root web程序)中的index.jsp

启动时可能遇到的问题 :

启动闪退 :

java 环境变量配置有问题

启动Tomcat乱码

参考博客 :https://blog.csdn.net/gaoyijun8/article/details/85041780

解决方法如下
打开 conf 路径下的 logging.properties 中红色区域的编码改为GBK即可。
javaweb -- tomcat、maven

Tomcat 中的配置 server.xml

javaweb -- tomcat、maven

可以配置启动的端口号

Tomcat 默认端口号 :8080

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

可以配置主机名称

默认的主机名称是 localhost == 127.0.0.1

默认网站存放的位置 :webapps

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

发布第一个网站

网站应该有的结构

- webapps :Tomcat 的 web 目录
    - ROOT :Tomcat 默认的程序
    - firstDemo :网站的目录名
    	- WEB-INF
    		- web.xml : 配置文件
    		- lib :web程序所依赖的jar包
    		- classes : java程序
    	- index.html :项目的首页
    	- static :静态资源目录
    		- css
    		- js
    		- img

Maven

Maven的概述

maven中文意思“专家、内行”,是一个项目构建工具,可以对java项目进行构建、依赖管理。也可以对其他语言的项目进行管理。约定大于配置

为什么要学Maven

在javaweb开发中,需要导入大量的 jar包,maven可以帮我们自动导入和配置jar包

下载安装 Maven

前言 :

  1. maven是纯java开发,运行依赖jdk
  2. 解压路径不要有中文,不要有空格。
  3. java -version 查看jdk的版本
  4. mvn -v 查看maven的版本

Maven 和 jdk 的版本 :javaweb -- tomcat、maven

下载

官网地址 :https://maven.apache.org/download.cgi

javaweb -- tomcat、maven

解压即可 :

javaweb -- tomcat、maven

配置环境变量(3个)

M2_HOME 指向 maven 目录下的bin目录 (springboot 和 springcloud 中会用到)

javaweb -- tomcat、maven

MAVEN_HOME 指向 maven的目录

javaweb -- tomcat、maven

在系统的path中配置 %MAVEN_HOME%\bin

javaweb -- tomcat、maven

dos 窗口测试是否 配置成功 :

javaweb -- tomcat、maven

修改配置文件

conf – > setting.xml

配置阿里云镜像
<!-- 在setting.xml文件中150行左右 :-->
<mirror>
    <id>aliyun</id>
    <mirrorOf>*</mirrorOf>
    <name>aliyun Maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
配置本地仓库 localRepository

本地仓库 :在程序员的笔记本上

*仓库(远程仓库) :服务器在国外,在互联网上,存放了基本上所有开源的jar包

镜像仓库 :国内的*仓库,比如阿里云的。

<!-- 在setting.xml 文件中50行左右 :-->
<localRepository>E:\study_software_framework\apache-maven-3.8.2\maven-repo</localRepository>

maven的文件夹

javaweb -- tomcat、maven

在 IDEA 中使用Maven

1、启动 idea

2、使用 Maven 模板创建一个 Maven web 项目
javaweb -- tomcat、maven

javaweb -- tomcat、maven

javaweb -- tomcat、maven

3、等待项目初始化完毕

4、观察 Maven 仓库

5、idea 中 maven的配置 :

idea 创建项目成功后,查看一下 maven的配置

javaweb -- tomcat、maven

注意 :项目自动创建完成后,尤其是在springboot项目中 MavenHome 会使用 IDEA 默认的 maven,我们需要手动改为我们自己的maven 。

javaweb -- tomcat、maven

创建一个普通的 maven 项目

javaweb -- tomcat、maven

javaweb -- tomcat、maven

javaweb -- tomcat、maven

设置文件夹标记

可以看出,使用maven 模板创建的web项目,main 文件夹下面缺少两个文件夹(java、resources),所以我们给他创建出来 ;
javaweb -- tomcat、maven

设置文件夹

javaweb -- tomcat、maven

javaweb -- tomcat、maven

pom文件

<?xml version="1.0" encoding="UTF-8"?>

<!--maven 版本和头文件-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

<!--  这里就是我们创建项目的gav -->
  <groupId>com.hkp</groupId>
  <artifactId>javaweb-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
<!--  package 打包方式 :
      war : javaWeb 应用
      jar : java 应用
       -->
  <packaging>war</packaging>

<!--配置-->
  <properties>
<!--    项目默认的构建编码-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--    编码版本-->
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

<!--  项目依赖-->
  <dependencies>
<!--    具体依赖的jar 包配置文件-->
      <!--    maven 的高级之处在于,他会帮你导入这个jar包所依赖的其他jar 包-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>javaweb-maven</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

由于maven约定大于配置,有时候我们写的文件会遇到 无法导出或生效的问题 :

解决方案 :

<!--在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>

在 idea中配置 Tomcat

javaweb -- tomcat、maven

javaweb -- tomcat、maven
javaweb -- tomcat、maven

为什么会有这个警告?

我们访问一个网站,必须指定一个文件夹 ;例如 :在本地的时候,Tomcat是使用 webapps 文件夹存放的 ,idea没有默认的,所以我们给他新建一个。

解决警告 :
javaweb -- tomcat、maven

javaweb -- tomcat、maven
javaweb -- tomcat、maven

启动 Tomcat

javaweb -- tomcat、mavenjavaweb -- tomcat、maven

上一篇:ISO气缸的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告


下一篇:原型模式(学习笔记)