JavaEE & Tomcat & 第一个Servelet程序
1. HTTP服务器 - Tomcat
HTTP本质上就是一个TCP服务器(HTTP基于TCP)
这个服务器按照 HTTP协议的约定,解析请求,构造响应
- 你自己写一个HTTP服务器,也完全没问题!
不过我们Java圈子和生态中,有一个现成的,最流行的,apache社区开源的http服务器 = = =》 Tomcat
直接去官网下载就行了: Apache Tomcat® - Apache Tomcat 8 Software Downloads
新的不一定是好的,新的不一定稳定,可能会有点bug(别当小白鼠)
- 企业也不会经常更新,大部分公司还在用8这个版本
- 我的代码基于这个版本,servelet也要匹配上,所以如果你的版本跟我的不一样,有一定概率在你那跑不了!
选择这个:
下载成功放在熟悉的目录下:
- 大版本是8就行了,八点几无所谓
1.1 Tomcat的目录结构:
- 这就是一个绿色软件,连双击安装都不需要~
bin 表示binary,里面包含了一下可执行的二进制脚本
conf 表示config,配置文件
- 一个复杂的软件,通常会有配置,开启不同的功能~
logs表示运行日志
- 出问题来这里看
webapps 放webapp,即放网站(后端+前端)
一个Tomcat上可以同时部署多个网站
部署说起来高级,其实就是将你的网站的文件放在对应目录下
1.2 启动Tomcat
- 这样就启动成功了
- 乱码没关系的,后面你就知道了
Tomcat是一个http服务器,但凡是一个服务,基本上就是个黑框框~
- 服务器它好用就完了,丑了就丑了
查看Tomcat的端口号是否正常绑定
- Tomcat默认端口号为8080
- 我们要避免这个端口号被其他程序占用!
win R 打开命令行
netstat -ano | findstr 8080
- netstat -ano:获得所有端口情况
- findstr 8080:找包含8080的字符串
- 两个的话,一个是ipv4,一个是ipv6
- 后面是进程id:11168
这样代表绑定成功
通过浏览器,访问Tomcat的欢迎页面
部署我们自己的网站~
- 我们自己电脑内打开html当然简单,但是别人不行呀
- 而这样别人也能访问才能我们的网站
将之前的博客系统html部署到webapps目录下:
- 部署==放置
打开Tomcat:
获取内网ip:
- 开热点看得到
输入【ip:端口:路径】去访问~
少写了字母就会出现404
这样操作,如果连的是一个热点,那么就可以访问到:
- 以手机为例
- 当然,这个页面并没有考虑移动端的问题,这也不做讨论
然而,没连热点或者外校或者外地的机器,是不能打开这个网站的~
- 因为NAT机制~
- 后续我们在云服务器获取外网ip,云服务器上的Tomcat部署网站,别人就能访问到了
1.3 Tomcat的优点
我们现在要写网站后端
虽然我们可以从头写一个HTTP服务器,但是很麻烦
Tomcat已经完成了这一部分工作,并且Tomcat给我们提供了一系列的API,可以让我们在程序里直接调用,大大提高开发速度!
- 想获取请求包的query string中的某个key的value,直接调用api即可,不必手动解析
- 想获取cookie,调用个api即可
省去了一部分工作,更加注重业务逻辑!
HTTP服务器:
- 根据HTTP协议解析请求报文
- 根据HTTP协议构造响应报文
而Tomcat提供的API,就是我们要学的第一个框架:Servelet
2. Servelet框架
在java中使用Servelet,从一个“hello world”开始!
- 我们需要经历7个步骤,虽然复杂,但是是固定套路
2.1 创建Maven项目
maven是一个构建工具,功能是帮助我们去构建,测试,打包一个项目~
以往我们写的代码都是简单程序,所以按ctrl shift f10直接运行即可
- 但是在公司中的项目不行,因为这个程序及其复杂,可能涉及很多存在依赖关系的模块,还可能会依赖很多第三方库~
- 因此,就诞生了一系列的构建工具,来帮你解决上述问题
Java中的构建工具:
- Ant(比较老)
- Maven(比较主流)
- Gradle(比较新,主要是安卓生态在用)
- 首次使用maven项目,会从互联网上加载很多依赖,所以要保持网络通畅!
pom.xml配置文件(标签格式的文本)
- 这个文件就描述了maven项目的各个方面的内容
目录结构:
【JavaEE】Tomcat-Servelet第一个helloworld程序(中): https://developer.aliyun.com/article/1508534