【JavaEE】认识Tomcat
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
✨哈喽大家好我是辰柒✨
🛰️🛰️系列专栏:【JavaEE】
✈️✈️本篇内容:如何构造 HTTP 请求同时认识HTTPS
🚀🚀代码存放仓库githubJavaEE代码
⛵⛵作者简介一名双非本科大三在读的科班Java编程小白道阻且长星夜启程
那么通过前三篇博客的学习我们已经大致掌握http和https是怎么回事了尤其是https加密那块学的是不是晕头转向的哈哈没关系那么今天呢我们就来学习一个新的东西叫Tomcat
什么是Tomcat 汤姆猫是它嘛
很显然不是
Tomcat实际上是一个http服务器之前我们学习过TCP/UDP服务器http也认为是基于TCP的。
首先我们需要下载Tomcat下载之前咋们最好在D盘提前创建一个文件夹Tomcat来存放tomcat的下载内容这样方便我们后续使用
下载链接Tomcat官网
注意Tomcat的版本会和JDK以及后面需要学习的servlet的版本绑定在一起所以小伙伴们尽量同一版本否者后续使用过程中可能会出现一些其他的问题会与博主的API一些细节不一致
点击zip即可下载(注意博主这里下载的是Tomcat8大版本是8即可小版本没有影响)
下载之后到文件中是这样的
解释bin启停脚本的目录
.bat 后缀的文件是 windows 的批处理文件.sh 后缀的文件是 linux 的 shell 脚本的文件
confTomcat的配置文件是通过xml的格式来组织的
logs这个目录中记录了很多的日志日志就是表示了Tomcat运行过程中一些具体过程细节
webapps这个目录中放的是咱们部署的 servlet 程序每个 servlet 程序,都是一个 war 后缀的文件也是一种压缩包格式tomcat 会自动把这个 war 解压缩,得到一个目录每个 war 其实就对应了一个 webapp (相当于是一个网站)一个 Tomcat 上, 允许你同时部署多个 webapp (即多个网站)
正因为一个一个Tomcat上可以部署多个Servlet程序所以也可以把Tomcat称为"servlet的容器"简称容器那么容器这个词在计算机里面非常常见Java的集合类因为C++称为容器所以渐渐地导致了很多Java程序员也管集合叫做容器后面我们学习到Spring可以管理多个bean象Spring也可称为是Bean的容器
所以当咋们以后看到容器这个词的时候一定要仔细观察到底是什么容器
如何使用Tomcat呢
1、启动Tomcat
找到Tomcat目录下的bin文件夹然后在找到startup.bat这个文件双击
运行后的结果看到画红线的这句话说明运行成功了
但是我们发现这个运行结果是一堆乱码为什么呢
因为Tomcat 内部使用的编码方式是 utf8(utf8 就是咱们当下最主流的编码方式)咱们使用的 windows 是"简体中文版”,默认的字符集是 GBK cmd 这个程序,也是跟随了系统的字符集数据是按照 utf8 来构造的,但是 cmd 在显示的时候按照了 GBK 的方式来解析,势必就会出现乱码
能否修改
答案是可以修改的但是需要去Windows的系统配置中心即注册表编辑器这个步骤很麻烦而且由于大家电脑型号系统不一样不一定能修改成功所以博主在这里就不演示如何修改了对咱们后续写代码也是没有影响的感兴趣的小伙伴们可以查阅一下其他的资料
使用浏览器来访问Tomcat
step1、首先启动我们的Tomcat
step2、在我们的浏览器中输入本机IP: 127.0.0.1:8080 按下回车会出现下面界面(启动成功)
step3、我们给页面加上一点东西进去
打开tomcat的目录找到webapps-root在里面就可以新建一个hello.html的文件
step4、这个时候在浏览器的URL里面输入127.0.0.1:8080/hello.html
运行结果
思考既然tomcat可以让用户访问到这个页面那么能否让小伙伴们访问博主的这个页面呢
答案不行
这里大家要知道NAT => IPV4我这里查询一下自己电脑的ip地址
win+r输入cmd然后再输入 ipconfig即可查看
可以看到博主这里的IP是192开头的是内网ip只局限于局域网内部访问不能被其他局域网访问除非你和我连接同一个网络才能够访问到
那么tomcat如何做到让外界访问到这个页面呢
这里就需要搞一个外网IP(买一个云服务器即可)后续博客会讲到哈
刚才咱们只是简单的一个输出hello tomcat的html文件但是如果这里面还需要加载一些图片文档之类的那么都写在这个root目录下是不是显得非常凌乱呢所以我们可以创建一个新的目录用来存放我们需要的文件
那么上述只是一个静态页面内容是固定不变的我们重点学习的是动态页面
tomcat的内容就先到这里啦我们下篇博客先介绍一个"管理工具"maven后续在继续学习servlet的相关内容
有任何问题欢迎大家可以在下方添加博主的联系方式一起交流学习