1.创建一个tomcat类,手写tomcat。并调用其中的start方法。
2.start方法中使用socket连接tcp端口,然后交给线程池处理。
3.socket服务器端主要两个部分,一是serversocket监听端口,二是调用serversocket的accept方法。为了监听多个socket使用死循环写入。
4.使用线程池去处理socket连接。 executorService.execute(new SocketProcessor(socket));这里是在读数据,解析数据的http格式。
5.SocketProcessor类中解析格式,通过输入流读取字节组。根据http格式解析数据。
6.创建一个Request类,将数据封装成request对象。创建一个Response类,将数据封装成response对象。去匹配yxservlet中的service方法。
7.发送响应,调用response.complete();
8.complete方法中有三个方法:sendResponseLine(); sendResponseHeader(); sendResponseBody();
9.sendResponseLine();方法中,将响应行发送给浏览器。
10.sendResponseHeader();方法中,将响应头发送给浏览器。
11.sendResponseBody();方法中,将响应体发送给浏览器。
12.编写ResponseServletOutputStream类,有一个write和两个get方法。
13.在Response和yxServlet类中,调用getOutputStream方法,实现write方法。
14.tomcat怎么部署应用,怎么部署servlet.[匹配servlet]
15.tomcat只关心servlet,关系项目下的servlet。
16.因为tomcat关心项目下的servlet,所以拟创建一个项目,将yxservlet放在项目下。这样之后yxservlet就不应该直接导入了。
就应该在tomcat中去设置部署。
17.因为会产生路径中类找不到的现象,所以自定义一个类加载器。 然后判断继承的类是不是httpservlet。