servlet中service()方法存在时,doGet()方法里就不起作用 10
6个回答
展开全部
其实Servlet中,service方法是一直存在的,因为最高层的接口Servlet(想HttpServlet等具体的servlet都是直接或者间接实现了这个接口)里面就有这个方法,所以不管是怎样的servlet类,都有service方法,没有service就不能称为一个servlet了。
我想你说的意思是你写了一个Servlet(应该是继承HttpServlet吧),重写了service方法,一般来说这个方法是不需要重写的,因为在HttpServlet中已经有了很好的实现,它会根据请求的方式,调用doGet或者doPost方法,所以我们么一般写一个servlet,只需要重写doGet或者doPost就可以了,如果你重写了service方法,那么servlet容器就会把请求交给这个方法来处理,而你又没有在service方法中调用doGet或者doPost,那么当然doGet方法就会不起作用了,我的建议是如果你由于某种需要,需要重写service方法,在末尾最好加上一句super.service(),这样就可以解决问题了。
我想你说的意思是你写了一个Servlet(应该是继承HttpServlet吧),重写了service方法,一般来说这个方法是不需要重写的,因为在HttpServlet中已经有了很好的实现,它会根据请求的方式,调用doGet或者doPost方法,所以我们么一般写一个servlet,只需要重写doGet或者doPost就可以了,如果你重写了service方法,那么servlet容器就会把请求交给这个方法来处理,而你又没有在service方法中调用doGet或者doPost,那么当然doGet方法就会不起作用了,我的建议是如果你由于某种需要,需要重写service方法,在末尾最好加上一句super.service(),这样就可以解决问题了。
展开全部
我遇到了这个问题,你可能在重写service()方法时,里面没有super.service(req, resp),加上这句就根据http请求方式自动会调用deGet()或doPost()方法
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
service()方法根据请中的method来决定调用doGet()方法还是doPost()方法,所以这两个方法是必须的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是这样的,
service()
与
doGet(),doPost()
有service() 就不会执行下边的方法了,看一下API
service()
与
doGet(),doPost()
有service() 就不会执行下边的方法了,看一下API
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询