1.tomcat简介
Tomcat 是由 Apache 软件基金会属下 Jakarta 项目开发的 Servlet 容器,Tomcat 本身也内含了 HTTP 服务器,因此也可以视作单独的 Web 服务器。但是,不能将 Tomcat 和 Apache HTTP 服务器混淆,Apache HTTP 服务器是用 C 语言实现的 HTTPWeb 服务器;这两个 HTTP web server 不是捆绑在一起的。Apache Tomcat 包含了配置管理工具,也可以通过编辑 XML 格式的配置文件来进行配置。
2.tomcat运行流程
1.用户通过浏览器访问服务器,发送一个请求
2.服务器获得请求并且解析其中的请求头信息(http协议规范)
3.获得资源地址
4.根据资源不同做出不同的处理方式(静态或者是动态)
5.将资源通过通道返回给浏览器,浏览器接收后渲染视图
3.tomcat类代码
这个类运行后执行main方法,然后一直等待请求,当浏览器发送一个请求后,会根据请求地址选择servlet,所以首先需要提供一个socket服务
注意:建立了soket后,必须要执行close方法,否则网页发送请求后会一直停留在等待服务器响应阶段
1 | import java.io.IOException; |
4.工具类HttpUtil代码
HttpUtil这个类作用是当请求头处理后,根据状态码返回相应的提示信息
如果想要其他参数可以百度响应头参数(如中文显示在content-type后加: charset=utf-8)
1 | public class HttpUtil { |
5.封装的MyRequest类
将请求头信息处理的步骤封装成一个单独类,方便使用,提高复用性
1 | import java.io.IOException; |
5.封装的MyResponse类
将返回内容的步骤封装成一个单独类,方便使用,提高复用性
1 | import java.io.IOException; |
注释的方法是返回一个网页文件的功能,FileUtil类是封装了处理文件的操作
6.servlet的编写
tomcat既然是一个servlet的容器,那么servlet的编写肯定是必不可少的
首先是抽象类Servlet,自己编写的servlet要继承这个抽象类
1 | public abstract class Servlet { |
然后写自己建立的servlet做相应的需求处理
1 | import java.io.IOException; |
写一个ServletConfig类,作用是模拟tomcat里面的web.xml文件
name是servlet的名字,clazz是文件地址,urlMapping是一个映射地址,就是浏览器输入的地址
1 | import java.util.Map; |
写一个ServletMapping类,作用是保存已创建的servlet,后面找servlet就在这个类里面找,然后创建servlet实例
1 | import java.util.ArrayList; |