How Tomcat Works, A Guide to Developing Your Own Java Servlet Container
2017-03-07 00:00
435 查看
摘要: 本节介绍web容器接受连接、接受请求、生成应答的原理
1.1 socket网络通信基础
客户端使用主机地址和端口实例化一个socket,此socket通过输出流将字符串等传向服务器主机。
服务器使用端口号实例化一个serverSocket,调用accept()方法监听此端口,等待客户端的连接。一旦连接成功,就可以获取到输入流,将客户端通过网络发送的字符串读取到;也可以获取输出流,将自己的反馈信息发给客户端(客户端获取输入流就可以读到反馈信息)。
1.2 Http服务器的原理
http服务器就是通过以上介绍的原理来接收HTTP请求的,只是它接收到的是完全按照http协议格式的请求字符串。在服务器被连接(accept())后,就可以获得输入流和输出流,使用它们可以实例化一个请求和一个响应对象。
1.3 Request类
Request类要做的事情就是从输入流中接收字符串,并将一个完全符合http协议的请求字符串分解为一个Request对象。
根据上图,使用indexOf()以及subString()等方法就可以将字符串分解,并将各部分的值封装在Request对象中。
1.4 Response类
Response类需要将响应的字符串按照http响应的格式写到输出流中去。
1.1 socket网络通信基础
客户端使用主机地址和端口实例化一个socket,此socket通过输出流将字符串等传向服务器主机。
服务器使用端口号实例化一个serverSocket,调用accept()方法监听此端口,等待客户端的连接。一旦连接成功,就可以获取到输入流,将客户端通过网络发送的字符串读取到;也可以获取输出流,将自己的反馈信息发给客户端(客户端获取输入流就可以读到反馈信息)。
ServerSocket serverSocket = new ServerSocket("8080",1,"客户机1"); Socket socket = serverSocket.accept(); input = socket.getInputStream(); // 处理 // ... output = socket.getOutputStream();
1.2 Http服务器的原理
http服务器就是通过以上介绍的原理来接收HTTP请求的,只是它接收到的是完全按照http协议格式的请求字符串。在服务器被连接(accept())后,就可以获得输入流和输出流,使用它们可以实例化一个请求和一个响应对象。
ServerSocket serverSocket = new ServerSocket("8080",1,"客户机1"); Socket socket = serverSocket.accept(); input = socket.getInputStream(); Request request = new Request(input); service(request,response); output = socket.getOutputStream(); Response response = new Response(output);
1.3 Request类
Request类要做的事情就是从输入流中接收字符串,并将一个完全符合http协议的请求字符串分解为一个Request对象。
根据上图,使用indexOf()以及subString()等方法就可以将字符串分解,并将各部分的值封装在Request对象中。
1.4 Response类
Response类需要将响应的字符串按照http响应的格式写到输出流中去。
相关文章推荐
- How Tomcat Works, A Guide to Developing Your Own Java Servlet Container
- 发现了一本好书<How Tomcat Works A Guide to Developing Your Own Java Servlet Container>
- How to Install Apache Tomcat 8 (on Windows, Mac OS X, Ubuntu) and Get Started with Java Servlet Prog
- The Apache Tomcat 5.5 Servlet/JSP Container Class Loader HOW-TO
- How Tomcat Works - A Simple Servlet Container
- The Apache Tomcat 5.5 Servlet/JSP Container Class Loader HOW-TO
- 《How To Tomcat Works》-第2章:一个简单的Servlet容器
- The Apache Jakarta Tomcat 5 Servlet/JSP Container--Realm Configuration HOW-TO
- HOWTO Design your own Framebuffer Splash
- howToTomcatWorks 学习 (一)
- Tips from Manish Sharma about how to writing your own FIX engine
- How A Servlet container Works
- wireshark lua: How to add your own tab to "Packet Bytes" pane (just like "reassembled TCP" tab) -- 用wireshark lua编写协议解析器dissecto
- How to create your own home SVN repository with Xampp/Apache
- HOWTO: How to Provide Your Own DllMain in an MFC Regular DLL
- How to create your own ListBox in C#
- How to create your own master page ,Include a example
- How to write your own custom Form
- (Page 2 of 3 )A walking tour of JavaBeans 2 :What JavaBeans is, how it works, and why you want to use it
- “The execution of scripts is disabled on this system” … How to run your own PowerShell scripts