共计 1010 个字符,预计需要花费 3 分钟才能阅读完成。
Tomcat 简介
Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现,Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 规范。因为 Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。
手动实现
项目结构如下图所示
接下来我们就开始一步步实现,有 servlet 开发经验的对于 Request 和 Response 一定不陌生,所以就先实现自己的 Request 和 Response。首先实现 Response 如下所示。
接着来实现自己的 Reponse,如下图所示。
有了自己的请求信息和响应信息,那接下来就要写 servlet 了。通常写自己的 Servlet 的时候要继承一个 Servlet 的父类 HttpServlet,所以首先要写一个 Servlet 的父类,代码如下。
那么接下来就要写自己业务相关的 Servlet,这里写一个和学生相关的 Servlet,叫 StudentServlet,还有一个和老师相关的 Servlet,叫 TeacherServlet。具体的代码分别如下。
和老师相关的 Servlet 如下:
因为浏览器在请求的时候还会请求浏览器上面显示的 favicon.ico,所以要编写一个相关的 servlet 来处理请求,代码如下。
以上就是写的跟具体实际当中业务相关的代码,还记得在 Servlet 的时候要在项目 web.xml 中配置请求地址和具体的 servlet 的映射关系,所以此处要手动来实现一个映射的关系。具体代码如下。
以上是每个具体的 Servlet 的信息,接下来要写一个存储有映射关系的类,代码如下。
接下来就是真正的主角登场了,那就是对于请求做分发处理的相关逻辑了,具体代码如下所示。
如果没有问题的话,启动 main 函数之后,在浏览器发起具体的请求会看到如下显示内容。
总结
实际的 tomcat 要比这复杂的多,这里只是简单了实现了 tomcat 的一个处理逻辑的 demo,比如 tomcat 多端口的配置,数据源的配置,热部署等相关功能,当然只要了解了主要思想,相信全部深入的了解也就没有那么难了。
: