Servlets doGet doPost AND?

时间:2011-03-06 02:41:06

标签: java servlets

美好的一天!

我正在阅读Head First Servlets和JSP,它说99%的servlet都使用了HttpServlet。另外1%是什么?它说在现实世界中,99.9%的servlet都会覆盖doGet()或doPost()方法。其他0.1%是什么?或者不值得一提的是这本书为什么没有提到它?

谢谢。

3 个答案:

答案 0 :(得分:7)

1%不使用抽象HttpServlet类。因此,他们使用Servlet接口而不扩展HttpServlet

目前在Java EE API中,只有一个Servlet执行此操作:FacesServlet是Java EE提供的MVC框架JavaServer Faces(JSF)背后的核心控制器。 JSF使您可以跳过所有繁琐的过程和样板代码,这是收集,转换和验证参数,更新模型值和调用特定操作方法所必需的。

但在撰写本书时,作者可能没有意识到这一点。截至目前,JSF肯定不占1%。在理论中,可以为除HTTP之外的其他协议实现Servlet,如FTP。这不是标准Java EE API提供的,但是有一些第三方“FtpServlet”类。我相信一些Portlet API也使用非HttpServlet类(他们只是实现Servlet而不扩展HttpServlet)。

关于HTTP methods,HTTP GETPOST旁边还有HEADPUTOPTIONS等。但是我认为0.1%被低估了。 HEAD肯定是经常使用的,想想servletcontainer自己的DefaultServlet(就像Tomcat一样)。 HEAD在浏览器缓存请求中起着重要作用。但是当涉及到“本土”servlet时,确实GETPOST会引起人们的注意。

另见:

答案 1 :(得分:1)

您可以使用servlet编写FTP。这可能是其他的0.1%。

答案 2 :(得分:0)

您可以使用

protected void service(HttpServletRequest request, HttpServletResponse response)

可以处理GET和POST请求。 这只是一个附录。 =]

相关问题