【JavaWeb】Tomact部署Web项目及Maven工具的使用

简介: Tomcat是一个web服务器,用于提供web(http,https)服务端程序,它是一个基于Java实现的一个开源且免费,也被广泛使用的HTTP服务器

什么是Tomcat?

Tomcat是一个web服务器,用于提供web(http,https)服务端程序,它是一个基于Java实现的一个开源且免费,也被广泛使用的HTTP服务器


我们前面学习的HTTP协议,知道HTTP协议就是约定HTTP客户端和HTTP服务端之间数据交互的格式,Tomcat服务器已经给我们包装好了对请求的解析和分用,以及响应的封装,它的优势在于不同地方需要提供服务端功能,不需要我们自己手动去写请求的解析和响应的封装


Tomcat的安装及环境配置

直接去Tomcat官网下载,下载地址:Tomcat下载地址


下载完后进行解压,但是注意的是解压的路径不要存在中文,否则点击启动脚本无法执行

image.png



检测JAVA_HOME环境变量是否配置成功


要启动Tomcat,需要提前配置jdk环境变量,可以在cmd中使用"%java_home%/bin/java" -version命令来检查配置JAVA_HOME环境变量是否正确

image.png


启动Tomcat服务器

image.png


如果双击后,出现了一个小的黑窗口,闪一下就没了,可能是环境变量没有配置好


端口被其他程序绑定时的处理方法


注意要观察启动的信息有没有报错,如果有Address already in use,表示Tomcat需要绑定的端口(默认绑定8080端口),被其他程序占用了


检查某个端口是否被占用:


windows:netstat -ano | findstr 端口号

linux:netatat -anp | grep 端口号

如果端口号被其他应用程序占用,使用taskkill -pid pid号 -f来处理掉程序


如果启动Tomcat后,访问127.0.0.1:8080,出现如下页面:

image.png


这种情况也是端口号被占用,只需要将8080端口绑定的程序杀死即可


查看8080端是否被占用:

image.png

杀死该应用程序(注意要以管理员身份运行):

image.png

解决掉端口及环境变量问题,重新启动Tomcat服务器


重新启动Tomcat,访问127.0.0.1:8080,出现如下页面表示Tomcat启动成功

image.png



使用这两个都可以访问:


本机IP:127.0.0.1

本机域名:localhost

注意:在windows上通过cmd方式启动Tomcat会出现乱码,但是不影响使用,乱码的原因是Tomcat默认按照UTF-8方式处理中文,而windows的cmd默认是GBK编码


Tomcat的目录结构

image.png


对目录结构的说明:


bin:存放执行脚本,如启动脚本,终止脚本,.bat是windows上的批处理脚本,.sh是linux上的批处理脚本

conf:存放配置文件,配置文件可以配置服务器的端口等

lib:存放Tomcat服务器需要的运行内库,里面都是jar格式的文件(jar格式是一个压缩格式,里面存放class文件)

logs:存放日志文件,运行产生的信息,用来定位一些信息

temp:临时文件夹,不用关心

webapps:存放web应用,一个webapp就是一个web应用,可以存多个webapp

work:Tomcat内部进行预编译的文件夹

下面的都是一些文档

我们最关心的是webapps目录,它是用来存放web应用的文件夹,关于web应用:一个具有完整功能的网站,可以称之为web应用,比如百度搜索,实现了完整的搜索引擎功能,淘宝实现了独立完整的电商功能,一个Tomcat服务器上是可以同时部署多个这样的web应用,这些web应用以目录的形式存放于webapps目录中


部署Web项目

webapps目录下,每一个文件夹就是一个webapp


这个页面就是webapps文件夹中ROOT文件夹下的页面

image.png


如果不是ROOT文件夹,还需要输入文件夹的名称才可以访问


示例:在webapps目录下,创建一个test文件夹,在test文件夹中创建一个index.html,使用浏览器访问

image.png


注意:


webapps目录下,每一个文件夹就是一个webapp

webapps目录下,不能直接访问html文件

对于非ROOT目录,访问时要带上webapp文件夹名称,对于ROOT目录,不用带文件夹名称

例如:在ROOT目录下,创建一个index.html,使用浏览器访问

image.png


/ 会默认查找index.html资源

使用这个路径127.0.0.1:8080也可以访问到

image.png


webapp文件夹的名字,不要有空格,中文,特殊字符

部署博客系统页面到Tomcat服务器中


1. 把之前的博客系统页面文件直接复制到webapps目录下

image.png

2. 更改文件夹名字,不要出现中文等特殊符号

image.png

 

3. 访问博客系统页面:

image.png


除了这种部署方式,还有更简便的部署方式,将在下一篇文章Servlet中讲解


为什么要使用项目构建工具?

前面在数据库的JDBC编程中,引入了jar后缀的文件作为项目依赖,才可以使用里面的类和接口,通过下载jar文件,然后配置到项目依赖中,操作是比较繁琐的


使用项目构建工具,可以通过配置使用相同的依赖,构建工具会自动下载,并引入为项目的依赖包


对于打包来说:是将程序实现的功能打一个jar包,提供给别人使用


对于Web开发来说:需要把html,css,js,class文件复制到Tomcat的webapps目录下的文件夹中,过程是比较复杂的,使用构建工具后,可以把web应用打一个war格式的文件,war格式是一个压缩格式的文件,里面包含了web应用的内容


对于Java项目,构建工具有很多产品,如ant(比较老了,几乎被淘汰了),gradle(安卓开发比较常用),maven(后端开发使用广泛)


Maven工具的介绍

Maven是一个项目构建工具,创建的项目只要遵循Maven规范(称为Maven项目),即可以使用Maven来进行管理:编译,打包等


Maven是一个Java开发的程序,可以单独下载使用,但是idea内置了maven这个程序作为插件,可以直接在idea中使用


IDEA中创建Maven项目

创建项目时不在创建之前的Java项目,而是选择创建Maven项目

image.png

选择创建Maven项目的路径

image.png


创建完成后,如果右下角出现以下弹窗,需要开启自动导入功能:

image.png

第一次创建可能需要下载很多程序:

image.png


Maven面板里面,可以看到Maven项目的命令,插件和依赖包:

微信图片_20221030163651.png


Maven查找依赖的流程

Maven项目中可以引入依赖包,引入后,加载依赖包的方式为在Maven仓库中搜索,Maven仓库可以理解为存放依赖包的仓库,分为本地仓库和远程仓库两种

image.png


Maven项目配置文件

项目的根路径下,生成了一个pom.xml文件(Maven的配置文件),可以配置项目需要引入的依赖,编译结构,打包等

image.png



image.png


引入依赖包的方式

image.png



groupId:组织名,一般为公司域名

artifactId:组织名,一般是项目的名称

version:版本号

注意:在idea中修改了pom.xml后,记得刷新Maven面板才能生效


本项目作为一个产品,也有对应的三个属相唯一标识

image.png



Maven项目的结构(由Maven规范规定的)

image.png

在java目录下,随便创建一个类,在resources目录下随便创建一个配置文件,运行观察编译目录

image.png

Maven的生命周期命令

Maven构建工具主要目的就是对Maven项目进行管理,这些都是通过Maven的生命周期命令来管理的,在IDEA创建的Maven项目中,打开Maven面板,展开项目的Lifecycle即为生命周期命令

微信图片_20221030163841.png

总结常用Maven生命周期命令:


clean:清除命令,删除target编译目录

compile:编译命令,编译开发代码,资源文件

package:打包命令,将整个项目打包为一个压缩文件


相关文章
|
18天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
121 17
Selenium:强大的 Web 自动化测试工具
|
26天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
48 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
1月前
|
人工智能 前端开发 计算机视觉
Inpaint-Web:纯浏览器端实现的开源图像处理工具
在刷短视频时,常看到情侣在景区拍照被路人“抢镜”,男朋友用手机将路人“P”掉,既贴心又有趣。最近我发现了一个纯前端实现的开源项目——inpaint-web,可在浏览器端删除照片中的部分内容,非常酷。该项目基于 WebGPU 和 WASM 技术,支持图像修复与放大,已在 GitHub 上获得 5.1k Star。项目地址:[GitHub](https://github.com/lxfater/inpaint-web)。
64 3
 Inpaint-Web:纯浏览器端实现的开源图像处理工具
|
29天前
|
缓存 JSON 监控
如何在项目中保证 Web 组件化的性能
保证 Web 组件化的性能需要从多个方面入手,综合运用各种优化方法和策略。通过持续的优化和改进,能够提高组件化的整体性能,为用户提供更好的体验,同时也有助于提高项目的开发效率和质量。
42 8
|
29天前
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
32 7
|
1月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
32 4
|
1月前
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
92 1
|
1月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
1月前
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
48 5
|
Java Maven Android开发
Maven中的WEB工程转换为MyEclipse中的WEB工程(自动部署,调试)
方法1、简要步骤如下: 0. 为eclipse添加Maven2和MyEclipse插件 1. 将Maven项目转为Eclipse项目,具体操作为将dos命令窗口切换到Maven项目的目录下,输入命令: mvn eclipse:eclipse 2. 进入eclipse,将这个项目导入工作空间 3. 在该项目上点右键Maven->Enable 4. 在该项目上点右键Build Path-
1527 0