request只是规范中的一个名称而已。不是SUN提供的,这是由各个不同的Servlet提供商编写的,SUN只是规定这个类要实现HttpServletRequest接口,并且规定了各个方法的用途,但具体是什么类是由各个提供商自己决定的。
你可以在JSP中使用out.println(request)来看看这个类的名字。
java ee自己本身只有一个实现类HttpServletRequestWrapper,而构造此类的对象的前提是传入一个HttpServletRequest类型的对象,所以又回到你的问题了。。。
事实上在java本身的代码里可以说是不包含对此接口的实现的,
基本上根据服务器的不同会有不同的HttpServletRequest实现类,如果你有兴趣的话也可以自己写一个实现类,自己写的总该知道如何得到对象了吧,这个问题也就不是问题了。

 

用tomcat建立一个普通的java web,out.println(request)--------------->结果为:org.apache.catalina.connector.RequestFacade@149d226

用strut2框架的话,out.println(request)------------------------------------->结果为:org.apache.struts2.dispatcher.StrutsRequestWrapper@1e17cff

 

HttpServletRequest 的实现是根据不同服务器的,tomcat有tomcat的实现,webLogic有webLogic的实现

 

The servlet container creates an HttpServletRequest object and passes it as an argument to the servlet's service methods (doGet, doPost, etc). 

相关文章:

  • 2021-05-17
  • 2021-09-17
  • 2021-07-08
  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-24
  • 2021-09-21
  • 2021-05-27
  • 2021-11-28
  • 2022-01-14
相关资源
相似解决方案