日期:2014-05-18  浏览次数:20723 次

关于servlet中的方法的调用方式问题
以下是我在qq中提问的聊天纪录


礼拜天()     (2007-05-21   10:44:23)
大家好   问个问题
Servlet和网页交互时,网页提交请求后,通过web.xml找到相应的servlet,此时servlet中的多个方法,如init(),doPost(),getServletInfo()等是按在servlet类中的顺序全部依次执行吗?

敏()     (2007-05-21   10:47:18)
首先init()
get
doGet()
post
doPost()  

礼拜天()     (2007-05-21   10:55:30)
也就是说关于servlet中的方法调用是按一定顺序执行的,这不同于其他普通java类中的调用哪个方法就执行哪个方法

对吗?  

敏()     (2007-05-21   10:57:31)
调用哪个方法就执行哪个方法

礼拜天()     (2007-05-21   11:00:10)
是不是通过html文件中的
<form   name= "Sayhi "   Method= "Post "   action= "/JSPBook/CH2/Sayhi "   >
的Method= "Post "   就知道要调用doPost()?


问题到这里就没有继续回答下去
如果是根据   Method= "Post "   就知道要调用doPost()   那岂不是意味着servlet中的方法是一些名字已经被固定下来的方法了?

------解决方案--------------------
servlet只在生命周期的开始和结束各调用一次init()与destroy()用以初始化和销毁资源..

而doGet() 和doPost()方法是在每一次请求之后反复调用的
------解决方案--------------------
什么啊?不怎么懂?servlet里的doGet和doPost方法名本来就是固定的了
------解决方案--------------------
对头,写死的,强记吧.
------解决方案--------------------
所有的请求都首先调用service方法,在父类HttpServlet中已经做好判断request.getMethod来判断应该执行哪个方法