Rest org.apache.http.HttpRequest和javax.servlet.http.HttpServletRequest之间有什么区别?
到目前为止,我的研究表明javax.servlet.http.HttpServletRequest是调用常规Java servlet的接口,而org.apache.http.HttpRequest通常用于实现RESTful服务。我在组织中的一个内部可用框架中看到了一个例子,其中org.apache.http.HttpRequest是编程RESTful服务的接口 我仍然觉得org.apache.http.HttpRequest已经由apache提供,以促进RESTful实现,因为这个接口没有任何状态代码,并且可以将实体作为响应传递Rest org.apache.http.HttpRequest和javax.servlet.http.HttpServletRequest之间有什么区别?,rest,servlets,frameworks,httprequest,Rest,Servlets,Frameworks,Httprequest,到目前为止,我的研究表明javax.servlet.http.HttpServletRequest是调用常规Java servlet的接口,而org.apache.http.HttpRequest通常用于实现RESTful服务。我在组织中的一个内部可用框架中看到了一个例子,其中org.apache.http.HttpRequest是编程RESTful服务的接口 我仍然觉得org.apache.http.HttpRequest已经由apache提供,以促进RESTful实现,因为这个接口没有任何状
两个接口之间的区别以及何时应该使用一个接口而不是另一个接口?HttpServletRequest是一个服务器端类,是JavaEEServletAPI的一部分。您在实现时使用它。。。一个servlet 在Java上下文中,HttpRequest(理论上)可以是任何。。。因为它不是JavaSE或EE类。但通常它是ApacheHTTP组件库中的一个类。这通常用于客户端代码,但也可以在服务器端使用 (在非Java上下文中也有
HttpRequest
类…)
这两个接口之间到底有什么区别?什么时候应该使用一个接口而不是另一个
- 它们是不相关的接口。(或者“完全”无关……如果您愿意:-)
- 在实现servlet时使用
HttpServletRequest
- 在实现servlet时不要使用
HttpRequest
我仍然不清楚两者之间的基本区别。如果
HttpServletRequest
已经存在,为什么有人首先需要HttpRequest
因为有些人的应用程序可能没有使用标准的JavaEEServlet框架。如果没有,那么它就不是“已经存在”
从这个角度来看,HttpRequest
和HttpServletRequest
之间的基本区别在于它们是不同框架的一部分,您可以使用其中一个框架,具体取决于您使用的框架
为什么我们有两个班?因为历史。JavaEEServlets最先出现,并且在许多年前被标准化并被广泛使用。后来实现了ApacheHTTP组件库,以解决servlet没有解决的用例;e、 g.小服务员太重的地方
- Oracle无法将Java EE更改为将
替换为ApacheHttpServletRequest
类,因为它会破坏太多的客户代码HttpRequest
- Apache不能在HTTP组件中采用
,因为它的“包袱”不适合非servlet用例HttpServletRequest
您选择哪种框架?你怎么选择?这些问题对于StackOverflow来说都是离题的。(推荐、主观、过于宽泛等)我认为基本区别在于Httpservletrequest是容器和servlet之间通信的一部分,因为容器为其创建对象并将其传递给servlet,而as Httprequest是容器和客户端之间通信的一部分,因为容器将Httpservlet Response转换为Httpresponse,然后将其发送回客户端。您需要提供完整的包名。由于有javax.servlet.http.HttpServletRequest,我看不到在常见的包HttpRequest中有任何地方,或者您指的是javax.servlet.ServletRequest,或者来自不太流行的第三方库的东西。基本上,HttpServlet和GenericServlet(“定义一个通用的、协议独立的servlet”)之间的区别是相同的。您可以阅读javadoc了解更多差异。