关于《Core Servlet and JavaServer Pages》中的Servlet Life Cycle不太明白

Paripatetic 2006-02-15 05:14:35
这几个优点没有理解,望指点
If your servlet needs to handle both GET and POST identically, have your doPost method call doGet, or vice versa

Although this approach takes a couple of extra lines of code, it has several advantages over directly overriding service. First, you can later add support for other HTTP request methods by adding doPut, doTrace, etc., perhaps in a subclass. Overriding service directly precludes this possibility. Second, you can add support for modification dates by adding a getLastModified method, as illustrated in Listing 3.7. Since getLastModified is invoked by the default service method, overriding service eliminates this option. Finally, service gives you automatic support for HEAD, OPTION, and TRACE requests.
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Paripatetic 2006-02-15
  • 打赏
  • 举报
回复
我看了半天也不明白
支持其他方法和
在GET中调用POST或在POST中调用GET
有什么关系呢?
doway 2006-02-15
  • 打赏
  • 举报
回复
因为一些乱七八糟的理由:

1、service 还支持 doPut, doTrace 符方法。
2、service 原来的实现支持 getLastModified 方法。
3、我也不知道那说的是什么了。
Paripatetic 2006-02-15
  • 打赏
  • 举报
回复
是啊,请达人们不要说半句话呀
xuyadong 2006-02-15
  • 打赏
  • 举报
回复
但不要采用直接覆盖 service 方法的方式。因为……

因为什么啊?
polarman 2006-02-15
  • 打赏
  • 举报
回复
要使你的servlet能同时处理GET请求和POST请求,可以同时重载两个函数doGet,doPost在一个函数中处理请求,另一个函数中调用这个函数,而不要直接重载service方法
doway 2006-02-15
  • 打赏
  • 举报
回复
Servlet 中,service 方法根据 HTTP 请求的方法是 GET 还是 POST 决定是调用 doGet 还是 doPost 方法。

文中说到如果你的 Servlet 要能够处理这两种方法,应该采用在 doGet 中调用 doPost,或者是反过来,但不要采用直接覆盖 service 方法的方式。因为……

81,113

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧