我是靠谱客的博主 殷勤路灯,最近开发中收集的这篇文章主要介绍Servlet容器响应客户端请求访问特定的Servlet流程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Servlet容器响应客户端请求访问特定的Servlet流程如下:
1.客户端发出要求访问特定的Servlet的请求
2.Servlet容器接收到客户请求,对其解析
3.Servlet容器创建一个ServletRequest对象,在ServletRequest对象中包含客户请求信息及其它关于客户的信息,如:请求头,请求正文,以及客户机的ip地址等
4.Servlet容器创建一个ServletResponse对象
5.Servlet容器调用客户所请求的Servlet的Service()服务方法,并把ServletRequest对象和ServletResponse对象作为参数传递组该服务方法
6.Servlet从ServletRequest对象中获取客户的请求信息
7.Servlet利用ServletResponse对象来生成响应结果
8.Servlet容器把Servlet生成的响应结果发送给客户。

HTTP请求格式
http请求由3部分组成
1.请求方法(post,get),URL,和HTTP协议版本
2.请求头(Request Header)
3.请求正文(Request Content)

HTTP请求的第一行就包含(1)部分中间以空格分开,从第二行开始为请求头包含许多有关客户端环境和请求正文的有用信息。如,请求头中可以声明浏览器类型,所用的语言,请求正文类型,以及请求正文的长度。HTTP协议规定请求正文和请求头之间必须以空行分开(CRLF回车换行符rn)请求正文中可以包含客户以post方式提交的表单数据而以get方式提交的表单数据会在(1)部分的URL后以?name=value&name=value方式传递


HTTP响应格式
http响应格式与请求相同也由3部分组成
1.HTTP协议的版本,状态码,和描述
2.响应头(Response Header)
3.响应正文(Response Content)

HTTP响应的第一行就包含(1)部分,响应头部分包含服务器类型,正文类型和正文长度,响应头与响应正文之间也必须以空行(CRLF)隔开


示例访问http://localhost:8080/helloapp/dispatcher
1.要访问servlet必须在web.xml中配置如下:

<servlet>
<servlet-name>dispatcher</servlet-name>(3)
<servlet-class>mypackage.Dispatcher</servlet-class>(4)
</servlet>

<servlet-mapping>
<servlet-name>dispathcer</servlet-name>(2)
<url-pattern>/dispatcher</url-pattern>(1)
</servlet-mapping>

2.流程如下:
web应用程序发布时tomcat容器在加载web应用时就会把对应的web.xml文件中的数据读入到内存中,通过从servletRequest中得到用户的请求/dispatcher此时tomcat容器就会从内存中遍历所有的<servlet-mapping>中的<url-pattern>找到与请求对应的url。此时找到(1)通过(1)找到处理这个请求的servlet-name(2),接着在<servlet>标签中查找对应(2)部分的servlet-name即(3)部分,通过(3)找到对应处理的源文件所在位置即(4)部分,根据(4)部分<servlet-class>通过反射调用WEB-INF/classes文件夹中对应的class源文件处理用户请求,通过ServletResponse生成响应结果,最后由servlet容器将结果返回给用户。


最后

以上就是殷勤路灯为你收集整理的Servlet容器响应客户端请求访问特定的Servlet流程的全部内容,希望文章能够帮你解决Servlet容器响应客户端请求访问特定的Servlet流程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部