服务器根据请求内容发送响应数据全过程
1. 如何收到请求内容
1.1. 建立监听
根据TCP协议,创建一个ServerSocket对象service,并进行监听service.accpet();
1.2. 启动线程
接收用户的请求数据
1.3. 封装请求对象
封装请求数据而创建HttpServletRequest对象,用于拆分请求数据中的请求方式,请求协议,请求体等
1.4. 封装响应对象
响应有固定的格式,创建HttpServletResponse对象,用于添加自定义数据并串成响应格式
2. 根据请求内容调用响应的Servlet
2.1. 解析web.xml
根据请求的url,找到web.xml中servlet-mapping中url-pattern对应的servlet-name,并对应servlet标签下servlet-name所对应的servlet-class,确定处理该请求的class文件,反射机制确定servlet处理类
2.2. 真正的处理类HttpServlet
HttpServlet作为父类,继承这个类的子类中重写service(HttpServletRequest request,HttpServletResponse response)方法
2.3. 传送响应数据
response对象中信息最终会转移成基于Http协议的响应内容,Socket会将数据通过IO流的形式发送给浏览器,浏览器进行解析显示内容