初学Tomcat会遇到的所有问题,解决方法都在这儿了
ztj100 2024-12-30 08:18 33 浏览 0 评论
今天是刘小爱自学Java的第87天。
感谢你的观看,谢谢你。
话不多说,开始今天的学习:
据说开发工具IDEA新版本自带有Tomcat,暂且不管。
今天从下载到安装、再到配置运行,了解一遍Tomcat。
毕竟若是这其中的很多问题都不知道,都不会解决,以后也不好意思说自己有开发经验。
其中头条搜索有很多关于Tomcat的干货教程,专业又详细,点击下方卡片搜索“Tomcat”了解更多:
一、Tomcat的引入
先了解下服务器基本概念。
- 服务器硬件:就可以将其理解成一台电脑,只不过服务器的处理能力一般都比常用电脑强大。
- 服务器软件:也就是一个应用程序,服务器硬件需要安装软件才能提供服务。
而Tomcat就是一个Web应用服务器软件,当然服务器软件还有其它的很多,但都不管,目前只学Tomcat。
原因很简单,因为它是开源免费的。
1下载Tomcat
网上搜索Tomcat找到其官网即可下载:
①Tomcat8
现在最新版已经到Tomcat10了,下哪个版本就看个人的选择了,我选择的是Tomcat8。
②下载安装包
- 如果是Linux系统,下载zip,也就是第一个。
- 如果是苹果系统,下载tar.gz,也就是第二个。
- 如果是32位Windows系统,下载32-bit。
- 如果是64位Windows系统,下载64-bit。
下载好后会得到一个压缩包,也就是③
④Tomcat文件夹
个人对这些文件夹的理解也不算透彻,大致说下自己的理解:
- bin文件夹:运行程序的地方。
- conf文件夹:configuration的简写,在里面可以配置各种参数。
- lib文件夹:library的简写,就是库的意思,我看了下里面全都是Java各种jar包。莫非Tomcat就是使用Java语言开发的?
- logs文件夹:也就是存放日志的地方。
- temp文件夹:存放缓存的地方。
- webapps文件夹:app是应用的意思,也就是存放web应用的地方。
2Tomcat启动与关闭
Tomcat是免安装版的,不用一步步安装直接就可以启动。
①bin文件夹
- 批处理文件startup.bat,点击即可运行Tomcat。
- 批处理文件shutdown.bat,点击即可关闭Tomcat。
如何判断Tomcat是否运行成功?
②在浏览器输入路径localhost:8080
localhost也就是本地ip,Tomcat的默认端口就是8080。也就是说输入该路径,即可访问本地运行的Tomcat。
- 如果运行成功,会出现一个官方提供的页面。
- 如果运行失败,会无响应。
二、Tomcat安装各种问题
1点击startup.bat一闪而退
解决方法:先将startup.bat文件使用编辑器打开(注意是右键在记事本或者notpad++打开,而不是运行),在文本最后加上一个pause。
再点击即可根据提示找寻是出了什么问题:
①环境变量配置问题
我这边运行后提示说我的JRE_HOME环境变量有问题。
所以在计算机中配置一个关于JRE_HOME的环境变量。
②配置环境变量
注意其路径为:jdk文件夹下的jre。每一个人的安装路径不一样,根据自身情况填写即可。
2端口号冲突问题
①输入命令
Windows+R,输入cmd,进入DOS,再输入命令:netstat –nao。
②找到8080端口号
其有一个对应的PID值,将这个值记下来。
③打开任务管理器
在详细信息中,根据PID找到对应的运行程序,将其结束即可。
3.关于运行乱码的问题
①运行Tomcat时出现乱码
当然这个问题对程序本身并没有影响,照样能运行,不解决也行,但是其观感不好。
作为一个强迫症,肯定要解决这个问题。
②conf文件夹
在该文件夹下有一个logging.properties文件,使用notpad++(自带记事本也行)打开。
③找到logging.ConsoleHandle.encoding
将编码字符集从UTF-8换成GBK。
注意只需要修改对应的这个编码字符集就好,其它的不用改。
三、IDEA运行web项目
好,Tomcat既然能运行,那么就可以用IDEA创建一个JavaWeb项目了。
①Java Enterprise
Enterprise,企业的意思。
Java Enterprise和Java最大的一个区别在于Java能直接运行程序,而Java Enterprise需要一个容器,这里就是Tomcat。
Tomcat没配置好的话也就没法运行了。
②配置jdk和Tomcat
值得注意的是:
一定要是已经配置好环境变量的Tomcat路径和jdk路径,也就是你正在使用的。
就比如jdk我电脑里有好几个jdk,因为以前一直纠结是用jdk8还是用jdk14,就都没删,这样就有可能会弄混。
紧接着再将项目模板勾选上,同时创建自己的项目名。
这样一个JavaWeb项目就创建完成了。
①项目结构目录
- src:存放Java源码的地方。
- web:存储静态资源(html,css,js)和jsp。
- WEB-INF:这个目录不能被浏览器直接访问到,一些配置信息会写在该文件夹里。
②项目运行
配置好信息后,启动Tomcat的startup.bat批处理文件。
再在idea中点击运行,浏览器上出现对应于index.jsp的页面,即运行成功。
附:Tomcat自启动
在MySQL中有一个自启动的配置,配置好后,每次电脑开机MySQL就会自动运行。
于是我就想,Tomcat可不可以这样?
不然的话每次重新开启电脑要先启动startup.bat文件,很是麻烦,看看人家MySQL多方便,管都不用管的。
结果还真有,在Tomcat的安装路径下输入命令:service.bat install。
如果安装服务失败,可检查Tomcat8w.exe的Java配置:
在Tomcat安装目录下有一个Tomcat8w.exe文件,将jvm.dll的文件路径配置进去即可。
然后在服务中找到Tomcat服务(右键计算机-管理),右键属性将其设置成开机自动(延迟启动)即可,具体操作就不再赘述了。
注意是:自动(延迟启动)。
如果服务启动后立马会自行关闭,解决方式如下:
右键属性,选择登录选项卡,将登录身份改成本地系统账户,允许服务与桌面交互。
至于为什么要这么操作,原因不详,但确实能将服务自行关闭问题解决。
当初安装MySQL时也遇到过这个问题,所以印象特深刻。
最后
谢谢你的观看。
如果可以的话,麻烦帮忙点个赞,谢谢你。
相关推荐
- Vue3非兼容变更——函数式组件(vue 兼容)
-
在Vue2.X中,函数式组件有两个主要应用场景:作为性能优化,因为它们的初始化速度比有状态组件快得多;返回多个根节点。然而在Vue3.X中,有状态组件的性能已经提高到可以忽略不计的程度。此外,有状态组...
- 利用vue.js进行组件化开发,一学就会(一)
-
组件原理/组成组件(Component)扩展HTML元素,封装可重用的代码,核心目标是为了可重用性高,减少重复性的开发。组件预先定义好行为的ViewModel类。代码按照template\styl...
- Vue3 新趋势:10 个最强 X 操作!(vue.3)
-
Vue3为前端开发带来了诸多革新,它不仅提升了性能,还提供了...
- 总结 Vue3 组件管理 12 种高级写法,灵活使用才能提高效率
-
SFC单文件组件顾名思义,就是一个.vue文件只写一个组件...
- 前端流行框架Vue3教程:17. _组件数据传递
-
_组件数据传递我们之前讲解过了组件之间的数据传递,...
- 前端流行框架Vue3教程:14. 组件传递Props效验
-
组件传递Props效验Vue组件可以更细致地声明对传入的props的校验要求...
- 前端流行框架Vue3教程:25. 组件保持存活
-
25.组件保持存活当使用...
- 5 个被低估的 Vue3 实战技巧,让你的项目性能提升 300%?
-
前端圈最近都在卷性能优化和工程化,你还在用老一套的Vue3开发方法?作为摸爬滚打多年的老前端,今天就把私藏的几个Vue3实战技巧分享出来,帮你在开发效率、代码质量和项目性能上实现弯道超车!一、...
- 绝望!Vue3 组件频繁崩溃?7 个硬核技巧让性能暴涨 400%!
-
前端的兄弟姐妹们五一假期快乐,谁还没在Vue3项目上栽过跟头?满心欢喜写好的组件,一到实际场景就频频崩溃,页面加载慢得像蜗牛,操作卡顿到让人想砸电脑。用户疯狂吐槽,领导脸色难看,自己改代码改到怀疑...
- 前端流行框架Vue3教程:15. 组件事件
-
组件事件在组件的模板表达式中,可以直接使用...
- Vue3,看这篇就够了(vue3 从入门到实战)
-
一、前言最近很多技术网站,讨论的最多的无非就是Vue3了,大多数都是CompositionAPI和基于Proxy的原理分析。但是今天想着跟大家聊聊,Vue3对于一个低代码平台的前端更深层次意味着什么...
- 前端流行框架Vue3教程:24.动态组件
-
24.动态组件有些场景会需要在两个组件间来回切换,比如Tab界面...
- 前端流行框架Vue3教程:12. 组件的注册方式
-
组件的注册方式一个Vue组件在使用前需要先被“注册”,这样Vue才能在渲染模板时找到其对应的实现。组件注册有两种方式:全局注册和局部注册...
- 焦虑!Vue3 组件频繁假死?6 个奇招让页面流畅度狂飙 500%!
-
前端圈的朋友们,谁还没在Vue3项目上踩过性能的坑?满心期待开发出的组件,一到高并发场景就频繁假死,用户反馈页面点不动,产品经理追着问进度,自己调试到心态炸裂!别以为这是个例,不少人在电商大促、数...
- 前端流行框架Vue3教程:26. 异步组件
-
根据上节课的代码,我们在切换到B组件的时候,发现并没有网络请求:异步组件:...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)
- vmware17pro最新密钥 (34)
- mysql单表最大数据量 (35)