黑马程序员技术交流社区

标题: doGet()和doPost()调用问题 [打印本页]

作者: 窦超    时间: 2011-12-21 12:37
标题: doGet()和doPost()调用问题
本帖最后由 窦超 于 2011-12-21 12:48 编辑

doGet()和doPost()分别在什么情况下调用啊?
作者: 舒远    时间: 2011-12-21 12:42
doGet和doPost不是给你调用的。是servlet里面的方法。提供给tomcat这些web容器调用的。前者是客户端提交GET请求是被调用。后者则是POST请求。要理解这个先得学习一下HTTP请求和相应的机制对于理解servlet的工作原理很有帮助而且是必须的。
作者: 海中的游弋草    时间: 2011-12-21 12:44
前台form是get  就doGet  前台是post就是doPost

详细一点就是比如你页面上一个form
<form method="get" action=“yourServlet”>form内容</form>
然后你提交这个form后 到yourServlet这个servlet后就在doGet()方法里有form提交过来的数据  在这个方法里对他进行处理
post也一样了

解释一下在servlet的调用

而在servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
在装入时init()方法被调用,仅这一次.当每个客户发出请求时,service()方法被调用 ,当它被卸载时,destroy()方法被调用
Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。
首先你要明确servlet的生命周期和HTTP协议.
Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一:
doGet:处理GET请求
doPost:处理POST请求
当发出客户端请求的时候,调用service 方法并传递一个请求和响应对象。Servlet首先判断该请求是GET 操作还是POST 操作。然后它调用下面的一个方法:doGet 或 doPost。如果请求是GET就调用doGet方法,如果请求是POST就调用doPost方法。doGet和doPost都接受请求(HttpServletRequest)和响应(HttpServletResponse)。  

作者: 窦超    时间: 2011-12-21 12:45
舒远 发表于 2011-12-21 12:42
doGet和doPost不是给你调用的。是servlet里面的方法。提供给tomcat这些web容器调用的。前者是客户端提交GET ...

谢谢~~~~~~~~
作者: 窦超    时间: 2011-12-21 12:45
海中的游弋草 发表于 2011-12-21 12:44
前台form是get  就doGet  前台是post就是doPost

详细一点就是比如你页面上一个form

谢谢解答
作者: 冯瑞君老师    时间: 2011-12-21 12:52
doget() 和dopost()是servlet里的,是选择用什么方式将该页面的属性传送到其他的页面的,一般登录窗口会用到,get会讲你的密码姓名等显示到地址栏上,而post不显示
作者: 窦超    时间: 2011-12-21 16:54
f64412300 发表于 2011-12-21 12:52
doget() 和dopost()是servlet里的,是选择用什么方式将该页面的属性传送到其他的页面的,一般登录窗口 ...

谢谢解答




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2