继承 httpserlvet 后实现方法要注意

异常:HTTP Status 405 - HTTP method GET is not supported by this URL

今天写一个继续servlet后总是出现405错误,后来百度后知道原来是super.service(arg0, arg1);没有删除导致的。
这里我只什么service方法,没有覆盖doget   dopost方法。
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("--------+++++++++++++++++++++++++++----------");
		PrintWriter pw=arg1.getWriter();
		pw.write("this a page!");
		super.service(arg0, arg1);
	}


super.service(arg0, arg1);这个以前是可以的,但是不知道为什么不行了现在,可能是更新了,所以子类一定要去掉这个,
或者不去掉但是要写出doget或者dopost方法,重点是这2个方法最后要去掉//super.doGet(req, resp);或者super.doPost(req, resp);这样即使开始的子类service方法最后那个super没去掉也是可以的。


申明:解决方法:

1,子类重写service或者doGet或doPost等方法;

2,在你扩展的Servlert中重写service或doGet或doPost等方法来处理请求和响应时 不要调用父类HttpServlet的

doGet或doPost等方法,即去掉super.doGet(request, response)和super.doPost(request, response);
即使service调用了 ,其他的2个方法一定要去掉。所以最好重写后都去掉

你可能感兴趣的:(service,405,dopost,doget)