图解JavaWeb
2022-03-13 20:21:21 3 举报
JavaWeb versin3.0
作者其他创作
大纲/内容
监听到请求
根据uri匹找到那个能具体处理的的servlet以后,调用servlet的api进行处理
1.根据http协议解析出请求行信息、请求头信息,根据请求头的相关参数解析请求体,如判断请求头的Content-Type是www-form-urlencoded时,解析请求体的参数,当请求方式为get时,还可以解析url中的参数,最终封装好一个请求对象。同时创建好一个响应对象。(请求和响应对象都是基于JavaEE Servlet标准)2.有了请求和响应对象以后,服务器根据请求uri从Filter容器中找到可以拦截该url的filter并依次执行3.服务器根据请求uri信息,找到可以处理这个uri的servlet对象,执行servlet的doService方法4.服务器在执行servlet方法时,会用try catch 捕获异常,如果发生异常,则服务器会设置响应状态码等一些操作。
1执行完servlet的doservice方法以后,此时传入的httpresponse已经被设置了内容了,服务器会继续补充完善一些响应头等信息。2.将最终的httpresponse对象按照http协议,转换为二进制数据,用socket的outputstream进行输出。
浏览器接受到服务器的响应之后,按照http格式解析,响应头、响应状态码等信息,将响应体内容进行页面的展示,或者文件的下载等。
Tomcat服务器启动,解析web.xml根据url和class创建好Filter容器根据url和class创建好Servlet容器
1.进入到了我们自己的servlet类中,服务器将已经创建好的HttpRequest和HttpServlet对象传入进来2.那么我们可以根据自己的业务,查询数据库,返回信息 3.设置响应状态码,设置响应体(response对象的流缓冲区),设置内容类型和字符集等。
如果没有根据uri找到能处理该请求的动态资源,则根据tomcat项目的部署路径(WEB-INFO)为基本路径,找到能匹配uri的静态资源,如果能找到,则设置响应码,content-type,同时将文件内容信息读取出来,再通过socket输出流以http协议的响应格式写出去。如果找不到则404
0 条评论
回复 删除
下一页