HttpServlet是一个抽象类 我们在写Servlet的时候继承HttpServlet 而在类中却只重写了doget 和dopost方法
展开全部
HttpServlet里面没有抽象方法的,也就是说Servlet中已经继承过来所有的方法了,只不过是“空”;
解释:doGet和doPost方法在HttpServlet中都是有实现的,并不是抽象方法,所以也是没有限制的。
HttpServlet中doGet方法源码:
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String protocol = req.getProtocol();
String msg = lStrings.getString("http.method_get_not_supported");
if (protocol.endsWith("1.1"))
resp.sendError(405, msg);
else
resp.sendError(400, msg);
}
展开全部
如果派生类不是抽象类的话就必须实现全部的方法,如果派生类本身就是抽象类则没有这个限制。实现接口的时候也一样,抽象类可以不实现全部的方法。
Servlet,重写service方法比较好,能同时处理get和post请求。如果只写了doget,那JSP页面传过来的post请求的话则不能处理,会报405错误。反过来一样
Servlet,重写service方法比较好,能同时处理get和post请求。如果只写了doget,那JSP页面传过来的post请求的话则不能处理,会报405错误。反过来一样
更多追问追答
追问
我的意思是HttpServlet是一个抽象类 我们写的Servlet类是一个实体类并继承HttpServlet 那么它应该实现HttpServlet的所有抽象方法 对于我在程序中看到的只重写doGet 和 doPost方法感到有些疑问 请指点
追答
HttpServlet类只是被定义为抽象类,但是源码里面没有抽象方法。所以没有一定要求实现的方法。之所以定义为抽象类,是因为他继承了GenericServlet这个抽象类。并没有全部实现里面的方法
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询