Tomcat源码解析(1)
来源:互联网 发布:美工行业现状 编辑:程序博客网 时间:2024/04/28 05:14
HttpServer类,表示一个Web服务器。
我们通过自己实现,来了解tomcat
之前我们可以直接在server,进行一个serverSocket进行等待请求。然后将Response进行返回。
这次我们增加Servlet。
首先是HttpServer类
主要方法public static void main(){ HttpServer server = new HttpServer(); server.await(); }await方法,也是通过java的serverSocket来提供服务的。 (为何不是wait而是await,是因为wait是Object的与线程相关的方法)
HttpRequest类,表示一个HTTP请求。
用来处理请求,将json转换成request的对象数据。
它的parse()用于解析HTTP请求。
HttpServer1类
可以处理servlet以及staticResource,以请求的url来区分。
if(request.getUri().startWith("/servlet/")){ ServletProcessor processor = new ServletProcessor () processor.processor(request,response);}else{ StaticResourceProcessor processor = new StaticResourceProcessor (); processor.processor(request,response);}
StaticResourceProcessor类用于处理对静态资源的请求。只有一个方法process()方法。
public void process(Request request,Response response){ response.sendStaticResponse();}
ServletProcessor1类,处理对servlet的资源的HTTP请求
它的process方法
process(Request req,Reponse rep){ String uri = req.getUri(); //得到uri然后通过请求的servlet的字符串来反射得到Servlet类 URLClassLoader loader = new URLClassLoader (URL[]---通过uri转化)}
之后就是获取到servlet类。然后调它的service方法将request和reponse传入。
通过URLClassLoader,来处理url为对应的servlet。
阅读全文
0 0
- Tomcat 源码解析(1)
- Tomcat源码解析(1)
- tomcat源码解析(一)
- Tomcat源码解析(2)
- Tomcat源码解析(3)
- Tomcat源码解析(4)
- Tomcat源码解析(5)
- Tomcat源码解析(6)
- Tomcat源码解析(7)
- Tomcat源码解析(8)
- Tomcat源码解析(9)
- Tomcat源码解析(9)
- Tomcat源码解析(10)
- Tomcat源码解析(11)
- Tomcat源码解析(12)
- Tomcat源码解析(13)
- Tomcat源码解析(14)
- Tomcat源码解析(15)
- 白话MongoDB(一)
- 51nod 1135原根
- 如何看本机与外网是否连通
- web基础标签--第一天
- HTML
- Tomcat源码解析(1)
- svn使用
- Servlet的页面跳转
- 白话MongoDB(二)
- java动态代理与静态代理
- JavaScript
- table和表单--第二天
- Maven安装以及Eclipse配置Maven
- 白话MongoDB(三)