【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:打包命令,将整个项目打包为一个压缩文件


相关文章
|
6天前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
31 1
Maven——创建 Spring Boot项目
|
9天前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
13 1
如何使用 maven 创建一个 Spring Boot项目
|
15天前
|
Java Maven Android开发
eclipse创建maven项目
本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
48 2
eclipse创建maven项目
|
12天前
|
Java 应用服务中间件 Maven
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
65 1
|
10天前
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
122 0
|
移动开发 JavaScript Windows
分享10个必备的简化Web设计的HTML5工具
这个文章是适合真正想去做HTML5应用的设计人员和开发人员阅读。这里我将不再重复HTML5开发的重要性。因为大家都已经知道这点。这里我收集了10个HTML5的工具帮助你在不同的方面简化你的开发和设计。如果你也喜欢这个文章,请在我们的网站GBin1留言支持! 1. FindmebyIP 一个列出了所有浏览器对于HTML5支持细节的网站。
1025 0
|
8天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
46 3
|
14天前
|
设计模式 测试技术 持续交付
开发复杂Web应用程序
【10月更文挑战第3天】开发复杂Web应用程序
28 2
|
16天前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
35 3
|
1月前
|
数据可视化 图形学 UED
只需四步,轻松开发三维模型Web应用
为了让用户更方便地应用三维模型,阿里云DataV提供了一套完整的三维模型Web模型开发方案,包括三维模型托管、应用开发、交互开发、应用分发等完整功能。只需69.3元/年,就能体验三维模型Web应用开发功能!
221 8
只需四步,轻松开发三维模型Web应用

推荐镜像

更多