最新要闻
- 世界球精选!创维造车:主打座舱养生续命、碰撞测试0分!真是讽刺他妈给讽刺开门
- 环球即时:反转!国内油价明晚大概率下跌 预计下调0.07元/升
- 《暗黑4》本周末开测 世界BOSS刷新时间公布
- 天天关注:巴奴火锅下架富硒土豆!消费者可获赠500元储值卡:领取有条件
- 天天热推荐:百度发布文心一言AI模型:可实现文字、图片与视频智能生成
- 喝的人越来越少!星巴克向中国三四线城市进军:30多一杯咖啡县城青年能爱多久
- 孙海洋是湖北哪里人?
- 鲶鱼效应是什么意思?鲶鱼效应的经典案例是什么?
- 首店经济是什么意思?首店经济是谁提出的?
- 快报:权志龙演唱会门票多少钱2020_权志龙演唱会门票多少钱
- 今头条!RTX 40笔记本新品翻车?别急 先升级NVIDIA新驱动再说
- 每日精选:官宣!《炉石传说》被移出杭州亚运会项目:职业选手难过
- 环球快消息!360发布年度手机安全报告:受骗男性占七成 女性三成
- 天天最资讯丨800V电气架构打造 全新起亚EV9发布:二三排可面对面乘坐
- 扣上的安全带会自动打开?本田在美国召回近45万辆汽车
- 每日短讯:强冷空气来袭!河南三门峡3月下雪:厚厚一层一夜回冬
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
天天看热讯:性能优化搞得好,Tomcat少不了。| 博学谷狂野架构师
Tomcat基本使用
什么是Web服务器
web服务器的定义
其实并没有标准定义,一般认为Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。
Web服务器的特点
- 服务器是一种被动程序:只有当Internet上运行其他计算机中的浏览器发出的请求时,服务器才会响应。
- 服务器一般使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。
- Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序
什么是Tomcat
Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,是开发和调试JSP程序的首选,实现了对Servlet和JavaServer Page的支持,并提供Web服务器的一些特有功能。
Tomcat是一款开源轻量级Web应用服务器,是一款优秀的Servlet容器实现。
(资料图)
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
Servlet严格来讲是指Java语言实现的一个接口,一般情况下我们说的Servlet是指任何实现了这个Servlet接口的类。
- 实例化并调用init()方法初始化该 Servlet,一般 Servlet 只初始化一次(只有一个对象)
- service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())。
- 当 Server 不再需要 Servlet 时(一般当 Server 关闭时),Server 调用 Servlet 的 destroy() 方法。
简单总结下,tomcat是一个中间件,在B/S架构中,浏览器发出的http请求经过tpmcat中间件,转发到最终的目的服务器上,响应消息再通过tomcat返回给浏览器。
tomcat所做的事情主要有:开启监听端口监听用户的请求,解析用户发来的http请求然后访问到你指定的应用系统,然后你返回的页面经过tomcat返回给用户。
Apache,Nginx和Tomcat的区别
- Apache全称是 Apache Http Server Project, Tomcat全称是 Apache Tomcat。
- Apache和 Nginx用于处理静态资源, tomcat用来处理动态资源。
- Apache和Nginx相比,Nginx适合做前端服务器,适合做负载均衡。
一般情况下,使用的时候,都是 Apache+Tomcat一起使用或者 Nginx+tomcat一起使用。
典型的Servlet的处理流程
- 第一个到达服务器的HTTP请求被委派到Servlet容器。
- Servlet容器在调用service()方法之前加载Servlet。
- 然后Servlet容器处理由多个线程产生的多个请求,每个线程执行一个单一的Servlet实例的service()方法。
Tomcat版本介绍
Tomcat版本 | 6 | 7 | 8 | 8.5 | 9 |
---|---|---|---|---|---|
JDK | ≥5.0 | ≥6.0 | ≥7.0 | ≥7.0 | ≥8.0 |
Servlet | 2.5 | 3 | 3.1 | 3.1 | 4 |
JSP | 2.1 | 2.2 | 2.3 | 2.3 | 2.3 |
EL | 2.1 | 2.2 | 3 | 3 | 3 |
WebScoket | N/A | 1.1 | 1.1 | 1.1 | 1.1 |
Servlet规范
Servlet 2.X
项目目录结构必须要有WEB-INF,web.xml等文件夹和文件,在web.xml中配置servlet,filter,listener,以web.xml为java web项目的统一入口。
Servlet 3.x
项目中可以不需要WEB-INF,web.xml等文件夹和文件,在没有web.xml文件的情况下,通过注解实现servlet,filter,listener的声明,当使用注解时,容器自动进行扫描。
8.5版本特点
Tomcat8.5进行了大量的代码重构,对比与7.0的版本,也符合Tomcat未来的代码架构体系。但是Tomcat的核心和主体架构还是一直保持这样的。
- 支持Servlet3.1
- 默认采用NIO,移除BIO
- 支持NIO2(AIO)
- 支持HTTP/2协议
- 默认采用异步日志处理
为什么要使用8.5的版本,首先这个版本比较新,因为太老的版本比如6.0的版本Servlet不支持3所以会导致部署SpringBoot等项目有问题,同时这个版本是在9.0出现以后发布的一个中间版本,主体架构延续8.0,同时又实现了部分9.0的新特性。
Tomcat启动
Tomcat 下载
Tomcat下载地址:https://tomcat.apache.org/download-80.cgi
一般启动
startup.bat 启动 Tomcat
- 通常下载解压版即可,解压后可以直接使用,安装版使用不灵活。
- 直接到 %Tomcat_HOME%/bin 目录下面运行 startup.bat ( linux 中是 startup.sh )文件即可开启 Tomcat,默认端口 8080,浏览器输入 localhost:8080 即可访问。
- 这样做的好处是能直接从窗口中实时的看到项目中所有输出的内容,以及抛出的异常与错误等,适合于调试阶段
- Windws 系统中可以将 startup.bat 创建快捷方式,然后放到启动文件夹中,这样就会开机自起。
启动日志如下
启动成功可以访问到的Tomcat首页 http://localhost:8080/
为什么有这个默认首页:Tomcat“买一送一”的思想。默认Tomcat启动后加载webapps中的项目
IDEA中启动
IDEA中配置Tomcat
- 点击Run—EDit Configurations…
- 点击左侧“+”号,找到Tomcat Server—Local
若是没有找到Tomcat Server 可以点击最后一行 34 items more
- 在Tomcat Server -> Unnamed -> Server -> Application server项目下,点击 Configuration ,找到本地 Tomcat 服务器,再点击 OK按钮。
IDEA发布项目
- 点击Deployment选项卡配置需要发布的服务
- 选择需要发布的war
- 然后点击ok就可以了
- 运行项目
- 然后就可以通过浏览器访问页面了
嵌入式启动
SpringBoot中一个main方法嵌入式启动Tomcat
COPY@SpringBootApplication@Import(MybatisConfig.class)public class AdminApplication { //相当于启动了Tomcat的8080端口 public static void main(String[] args) { SpringApplication.run(AdminApplication.class, args); }}
Tomcat关闭
第一种:Ctrl+C键 关闭Tomcat服务器第二种:点击Tomcat窗口的右上角关闭按钮 (暴力停止服务器)第三种:找到tomcat目录/bin/shutdown.bat文件,双击执行关闭Tomcat。
Tomcat项目部署
隐式部署
直接丢文件夹、war、jar到webapps目录,tomcat会根据文件夹名称自动生成虚拟路径,简单,但是需要重启Tomcat服务器,包括要修改端口和访问路径的也需要重启。
显式部署
添加context元素
在Tomcat的conf目录下的server.xml中的Host加入一个Context(指定路径和文件地址)
COPY
即/test这个虚拟路径映射到了D:/work/spring_mvc_test目录下(war会解压成文件),修改完servler.xml需要重启tomcat 服务器。
创建xml文件
在Tomcat的conf/Catalina/localhost中创建xml文件,访问路径为文件名
在localhost目录下新建demo.xml
COPY
不需要写path,虚拟目录就是文件名demo,path默认为/demo,添加demo.xml不需要重启 tomcat服务器。
三种方式比较
- 隐式部署:可以很快部署,需要人手动移动Web应用到webapps下,在实际操作中不是很人性化
- 添加context元素: 配置速度快,需要配置两个路径,如果path为空字符串,则为缺省配置,每次修改server.xml文件后都要重新启动Tomcat服务器,重新部署.
- 创建xml文件:服务器后台会自动部署,修改一次后台部署一次,不用重复启动Tomcat服务器,该方式显得更为智能化。
本文由
传智教育博学谷狂野架构师
教研团队发布。如果本文对您有帮助,欢迎
关注
和点赞
;如果您有任何建议也可留言评论
或私信
,您的支持是我坚持创作的动力。转载请注明出处!
关键词:
世界微动态丨得物从0到1自研客服IM系统的技术实践之路
天天看热讯:性能优化搞得好,Tomcat少不了。| 博学谷狂野架构师
世界观天下!笔记本水冷改造记录
世界球精选!创维造车:主打座舱养生续命、碰撞测试0分!真是讽刺他妈给讽刺开门
环球即时:反转!国内油价明晚大概率下跌 预计下调0.07元/升
《暗黑4》本周末开测 世界BOSS刷新时间公布
天天关注:巴奴火锅下架富硒土豆!消费者可获赠500元储值卡:领取有条件
天天热推荐:百度发布文心一言AI模型:可实现文字、图片与视频智能生成
喝的人越来越少!星巴克向中国三四线城市进军:30多一杯咖啡县城青年能爱多久
麦芒11什么时候上市的?麦芒11手机参数配置
华为电视怎么投屏?华为电视怎么下载第三方软件?
孙海洋是湖北哪里人?
鲶鱼效应是什么意思?鲶鱼效应的经典案例是什么?
首店经济是什么意思?首店经济是谁提出的?
快报:权志龙演唱会门票多少钱2020_权志龙演唱会门票多少钱
环球讯息:用图技术搞定附近好友、时空交集等 7 个典型社交网络应用
GPT-4测评,大家先别急,图片输入还没来
全球时讯:C#使用ObjectPool提高StringBuilder性能
今头条!RTX 40笔记本新品翻车?别急 先升级NVIDIA新驱动再说
每日精选:官宣!《炉石传说》被移出杭州亚运会项目:职业选手难过
环球快消息!360发布年度手机安全报告:受骗男性占七成 女性三成
天天最资讯丨800V电气架构打造 全新起亚EV9发布:二三排可面对面乘坐
扣上的安全带会自动打开?本田在美国召回近45万辆汽车
【独家焦点】虹科案例|虹科Visokio商业智能平台在疫后帮酒店业打好翻身仗!
环球今热点:python 二分法查找
环球实时:面试问题-密码
Fortran语言在线代码运行编译工具推荐
Scrapy中的response对象的属性及方法,附加mate属性的使用方法
每日短讯:强冷空气来袭!河南三门峡3月下雪:厚厚一层一夜回冬
环球要闻:爱立信CEO:印度是全球推出5G速度最快的国家之一
上映25周年纪念:3D重制版《泰坦尼克号》国内定档
真凉了!暴雪网易闹掰 《炉石传说》或被移出杭州亚运会项目
世界快看:B站投资 网红爆款:理然男士沐浴露29.9元狂促
更改 ESX 或 ESXi 主机的主机名称
每日快讯!作业DNS服务配置
NOI 2008 志愿者招募 题解 (神奇费用流)
NutUI-React 京东移动端组件库 2月份上新!欢迎使用!
传递“坚持”背后的感人力量
环球新资讯:恒生中国发布2022年ESG报告 持续提升绿色金融产品与服务质量
日本央行削减购债引发政策转向猜测 超长端日债收益率显著回升
天天精选!中银香港完成5亿绿色人民币逆回购交易
世界今日讯!预购玩家可抢先游玩:《暗黑破坏神4》已开启Beta测试预载
天天看点:8999元 联想小新Pro27 2023一体机来了:13代i9、锐炫A370M独显
苦情戏直播涉事公司被查处!央视315点名诱骗老人直播间均已被封
比降价还狠!最帅国产猎装车极氪001限时福利:数万元升级包免费选
398元烫发烫完变成3980元 商家:把头发分成10个区域 每个区域398元
Linux进程通信 | 信号
GPT-4:不了不了,这些我还做不到
每日信息:前端设计模式——迭代器模式
Django-4
每日消息!Minio架构简介
环球观焦点:女子住酒店被毒蛇咬伤 酒店拒担全责有啥能证明引热议:律师发声
世界即时:奇葩创维汽车:碰撞试验0分 开创维汽车寿命延长30岁
环球微头条丨70岁赵雅芝踏青 短裤白衫引网友惊叹:真不老女神
热点!或12万起售对刚比亚迪海豚 大众微型电动车ID.2all概念车首发
世界快报:曾引发隐私争议 谷歌眼睛正式停售:退出科技舞台
【时快讯】海报丨人民武警忠诚党
天天热议:使用旧电脑玩Linux
起底汕头赤脚踩腌菜涉事公司:成立才1年时间
天天微动态丨阿根廷游戏制作人感谢中国玩家 理解了什么是“精神阿根廷人”
全球微动态丨年轻人看不上!瓦工年收入或超25万元仍招不到人 网友感慨能秒杀多数白领
Tesseract5+OpenCV4(VS2017+win10)实现OCR识别
【全球新要闻】微微一笑很倾城里面的游戏_微微一笑很倾城里面的游戏是什么
报道:河南兄弟俩花光父亲百万死亡赔偿金打赏女主播 平台:想退款拿出依据
世界热头条丨印度计划强制要求手机厂商允许删除预装应用:印度制造还要模仿中国互联网产业
焦点日报:Tiffany被曝一钻两卖 当事人交18.6万后被告知已卖掉:网友唏嘘钻石真不值钱
焦点要闻:读Java性能权威指南(第2版)笔记18_垃圾回收E
人民网评东方甄选疑似售假:东方甄选要选真的
当前信息:养殖虾当野生虾卖 东方甄选深夜道歉:公司承担 不要攻击主播
天天热点!IDEA2022.3.2破解安装教程
每日时讯!SpringCloud Alibaba 学习圣经,10万字实现 SpringCloud 自由
天天播报:免费领取:尼恩技术圣经PDF!带你实现 微服务自由、Docker自由、K8S自由…(史上最全)
世界消息!软件中间件,你知道哪些?
世界微头条丨2023年央视315晚会一文看懂:12大消费陷阱防不胜防
针对315曝光问题 各地连夜行动:已调查免费评书机骗局、售卖水军公司等
无视4G/5G信号打电话!中国电信今年将在深圳率先部署VoWiFi
世界速看:针对央视315曝光问题 各地连夜行动!2259.8万粉丝大V瞬间被封
全球观察:iQOO回应难以删除数据:只是测试演示 问题与品牌无关
与或门常用表达式_与或门
环球热推荐:论文阅读—第一篇《ImageNet Classification with Deep Convolutional Neural Networks》
天天播报:胃食管反流病发病机制_胃食管反流病怎么调养
吴宇森执导美版《喋血双雄》主演敲定!《速激》女星出演
天天新动态:央视315揭秘恢复出厂设置:并非彻底清除手机数据
环球微动态丨央视315晚会曝光直播间苦情戏 2000多万粉丝的网红被秒封
当前视讯!16次全胜!长征十一火箭成功发射试验十九号卫星
5.9 GDT与IDT的初始化(harib02i)
环球快资讯:谈谈GPT-4模型的亮点
世界头条:ChatGPT对跟踪算法以及跟踪轨迹问题的解答
今日热讯:央视315晚会曝光直播间苦情戏:“儿子”们专骗老人、1.2元“神药”卖9.9元
全球滚动:任天堂:Switch 2将给玩家新惊喜和新玩法
即时看!央视3·15曝光:水军操盘直播间诱导跟风下单 一台手机操控2万个
day04-实现SpringBoot底层机制
焦点报道:有监督学习——支持向量机、朴素贝叶斯分类
当前动态:Windows 下 JNA 调用动态链接库 dll
Java并发小结02
【新视野】区块链技术入门教程 - Decert
热门:512GB售价8999元:雷克沙发布新款CFexpress Type-B存储卡
今日热闻!459元 腾达发布首款面板AP:10秒下载一部电影
2023央视3·15晚会第一曝 “泰国香米”竟是香精勾兑!渉事公司食品许可证已失效
快播:第130篇:BOM(window对象)