【JavaWeb】Tomcat的安装及使用 + Servlet + IDEA创建Servlet程序流程
创始人
2025-05-28 15:19:32

目录

Tomcat

Tomcat的下载

​编辑Tomcat的启动

Tomcat部署前端页面

Servlet

创建Servlet程序

创建项目

引入依赖

创建目录

编写代码

打包程序

部署程序

使用插件Smart Tomcat部署

验证程序


Tomcat

Tomcat是Java最知名的HTTP服务器。

Tomcat的下载

下载说明:下载的版本要和Servlet版本匹配。而且可以下载多个Tomcat,之间没有影响。

下载地址:Apache Tomcat® - Welcome!

查询Tomcat版本和Servlet版本

Apache Tomcat® - Which Version Do I Want? 

Tomcat的启动

下载完成后,目录结构如下图:

 

双击后看到这句话就证明成功了。

 

在Tomcat运行的情况下进入它的欢迎界面(自带的一个webapp)

在导航栏输入 127.0.0.1:8080    (Tomcat的端口号是8080,由于我的端口被占用了,我改成了9000)

Tomcat部署前端页面

把写好的前端代码放到webapps目录下,在欢迎页后面加要打开的页面的路径即可

 

在Tomcat运行的时候才可以。

 


Servlet

Servlet是实现动态页面的技术,是Tomcat给程序员提供的一组API,能够简单高效的开发web app。

静态页面:只是单纯的HTML标签

动态页面:HTML标签 + 数据的交互

创建Servlet程序

创建Servlet程序是较为繁琐的,但是大多数步骤都是固定的。这里我们写个Hello World  Servlet程序,然后部署到Tomcat上,最后通过浏览器访问得到Hello World

创建项目

Maven是一个管理工程的工具,是一个独立的程序,IDEA自带。

 


引入依赖

在该网站Maven Repository: Search/Browse/Explore (mvnrepository.com)找到和Tomcat版本匹配的Servlet的jar包。

 复制粘贴上述代码到pom.xml文件中。


javax.servletjavax.servlet-api3.1.0provided


创建目录

  


Archetype Created Web Application

Tomcat就是依靠WEB-INF/WEB.xml这个文件来识别需要带动运行的webapp。


编写代码

在main目录下的java路径建一个java文件

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;// 这个注解一定要写 这个注解把这个类和HTTP请求路径关联起来
// /Hello 就是最后一级路径
@WebServlet("/Hello")
// HttpServlet 是Servlet中提供现成的类
// 写Servlet代码一般都要继承这个类
public class HelloWorld extends HttpServlet {
//    重写父类中的doGet方法//    doGet方法交给Tomcat来调用
//    Tomcat 收到get请求后触发doGET方法
//    Tomcat 构造好两个参数 req resp
//    req是从TCP socket中 根据歇息解析HTTP的一个请求
//    resp是HTTP的一个响应,是一个空的对象(相当于一个输出型参数)
//    咱们这个写的代码不需要请求,直接返回响应即可@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//    这行代码要删除重写,否则会报错
//        super.doGet(req, resp);//  在网页写一下Hello Worldresp.getWriter().write("Hello World");}}

打包程序

 

 可以看到出来了很多文件。其中生成了 .jar后缀文件就是我们需要的,但又不是我们正真想要的。

我们需要的是 .war 为后缀的文件是我们想要的。

.jar打包的是一些 .class文件和一些其他的配置文件。

.war是Tomcat专门生成的描述webapp的包,里面还有一些其他资源。

 

想要生成 .war包还需要再pom.xml中写一点东西。

一下这段代码放在标签的下面即可

    warHelloWorld

重新生成:

 


部署程序

把刚才打包好的 .war 包放到Tomcat下的webapps下面即可。

使用插件Smart Tomcat部署

上述打包和部署步骤可以使用插件帮我们一键完成。

①首先到IDEA中的插件商店中搜索并安装Smart Tomcat这个插件。

②第一次使用需要配置一下。

使用插件部署的不会生成 .war包,只能访问当前界面,和手动部署的完全是不同的。


验证程序

 


有什么错误评论区指出。希望可以帮到你。

相关内容

热门资讯

景顺长城基金董事长李进因任期届... 5月29日晚间,景顺长城基金公告称,李进因任期届满离任董事长职位,由公司总经理康乐代为履职,任职日期...
上海亚商投顾:沪指冲高回落 ... 上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游...
视频|哪吒汽车“债转股”失败,... 《21汽车·一见Auto》独家获悉,哪吒“债转股”减轻债务以求新融资到位的方案宣告失败。哪吒汽车欠供...
灵魂舵手凌克离舰,“金地系”巨... 在执掌“金地系”25年后,凌克时代落幕。5月28日,金地商置发布6月25日召开股东周年大会的公告,股...
Vue 3.0 自定义元素交互 #概览 非兼容:自定义元素白名单现在在模板编译期间执行,应该通过编译器...
Portal认证讲解 目录 Portal组网架构 Portal认证的接入方式 Portal认证的认证方式 802.1x认...
特朗普再开绿灯 特朗普再开绿灯 美国总统特朗普正加速拥抱加密货币。当地时间5月28日,特朗普政府宣布取消拜登任上对401(k)计划投...
本月第三家!中泰证券定向增发获... 5月28日晚间,中泰证券(600918)发布公告,公司于当日收到上交所出具的《关于受理中泰证券股份有...
北京证券交易所举办投资者服务吉... 新京报贝壳财经讯(记者张晓翀)5月29日,记者从北京证券交易所(简称“北交所”)获悉,北交所举办投资...
北京证券交易所举办投资者服务湖... 新京报贝壳财经讯(记者张晓翀)5月29日,记者从北京证券交易所(简称“北交所”)获悉,近日北交所举办...
Nebius Welcome ... 传送门 ps:感觉这一场的A-D都挺简单的?(虽然我没做出...
“电报”CEO宣布将与马斯克合... 【环球网报道 记者 李梓瑜】据“今日俄罗斯”(RT)、路透社等媒体报道,社交软件“电报”(Teleg...
大全能源副董事长:未来若出现符... 5月29日,在大全能源(688303.SH)2024年度暨2025年第一季度业绩说明会上,公司副董事...
特朗普移民政策动摇美国农业 特... 随着全美农场进入春季作业高峰,数十万名持H-2A签证的季节性外国劳工陆续抵达美国,他们支撑着全美粮食...
2年间利润从10亿元跌至124... “业绩持续下滑,企业有何应对举措?”在日前举行的酒鬼酒股份有限公司(简称“酒鬼酒”)2024年度报告...
es6+对象扩展 Object.keys() 【获取对象所有的key值】 Object.values() 【获取对象...
理想汽车今年一季度净利润为6.... 新京报贝壳财经讯(记者王琳琳)5月29日,理想汽车发布2025年一季度财报。今年一季度营收为259....
【职业规划】Java程序员的职... 在这些年使用Java语言开发的工作中,时常因为没有明确的目标去努力,导致...
“客药第一股”突遭立案, 嘉应... 记者 秦楚远2025年5月29日零点整,广东嘉应制药股份有限公司(嘉应制药,证券代码:002198)...
刚刚,直线跳水!美国,重磅发布... 今晚,美国一系列重磅数据出炉。美国商务部经济分析局公布的数据显示,美国第一季度经济折合年率萎缩0.2...
V观财报|*ST锦港:将被实施... 【V观财报|*ST锦港:将被实施重大违法强制退市】*ST锦港公告,因2020年至2023年年度报告存...
拼多多增速和淘天一样了 拼多多... 本文来自微信公众号:山上,作者:薛星星,编辑:蒋浇,头图来自:视觉中国即便拼多多——这家中国有史以来...
内网nginx代理到外网ngi... nginx的基本常用命令 ./nginx -t -> nginx刷新配置重启 ./nginx -s...
4.1.网络编程之TCP通信 目录 网络知识介绍 Linux网络编程--初等网络函数介绍(TCP) ...
2025汽车价格战打响!比亚迪... 还没买车的狂喜,刚买车的又是一阵眩晕。没错,618还没到,但汽车圈“掀桌子”了。第一个举起价格“屠刀...
Kubernetes(2):K... 1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将...
系统集成项目管理工程师:第15... 第15章信息(文档)和配置管理 一、目录 15.1 信息系统项目相关信息(文档)及其管理 15.1...
卖盲盒的太猛了,“泡泡玛弟”也... 又来一家!“泡泡玛弟”要冲击上市了。卖公仔这么迷人的生意,谁不爱?!没错,说的就是风头正盛的“谷子经...
*ST锦港:公司股票将被实施重... 5月29日晚间,锦州港股份有限公司(*ST锦港,600190.SH)公告,因2025年5月29日,公...
yolov5 训练自定义数据集... 1、下载YOLOv5代码并安装环境 git clone https://gitee.com/monk...