- tomcat启动。
默认从webapps下读取war包并解压,读取tomcat webapps 下所有文件,获取所有项目信息
- 循环所有后项目文件,扫描\WEB-INF\web.xml 获取所有servlet
- 类加载
默认获取项目下\WEB-INF\classes\文件夹
循环第二步获取到所有的servlet 加载到jvmURL classPath = new URL("file":+projectPath+"\\WEB-INF\\classes\\"); URLClassLoader classLoader = new URLClassLoader(new URL[]{classPath});
Class<?> servletClazz = classLoader.loadClass(servletClass); Servlet servlet = servletClazz.newInstance();
- 启动socket
ServerSocket serverSocket = new ServerSocket("8080") Socket socket = serverScket.accept();
- 根据url 定位要请求的servlet
- 调用Servlet.service(HttpServletRequest,HttpServletResponse)