jsp中form表单的post设置问题

我在form表单中设置了method="post",用于提交注册信息[提交信息为空时,调用了post,显示注册信息错误的提示;信息不为空时,报405错误];在action指向的servlet中复写了doPost,没有复写doGet;浏览器老是报405 HTTP method GET is not supported by this URL 错误。
求解

第1个回答  2013-11-25

这样,servlet里的doGet和doPost方法都留着。然后其中一个方法(如doPost)写具体处理请求,另一个方法(doGet)则调用该方法(doPost),如:

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//具体的处理

}


追问

问题解决了一半。不再是post的问题。又出新问题了,关于jstl的。。。
总感觉这个方法很折中,如果有其他方法,请赐教。
如果不复写doGet()是否是就搞不定啊?

追答

jstl这个跟get,post方法提交就没关系了。可能是你jstl的jar包冲突了吧。。jstl的jar包冲突问题比较多,而且兼容问题也比较常见。解决起来是有点繁琐。

本回答被提问者和网友采纳
第2个回答  2013-11-25
错误的原因就是继承了 HttpServlet 类后得重写父类的方法,doGet()和doPost()这两个方法缺一不可,而且它们的参数顺序也不能变。追问

自动生成的,不会错的;doGet与doPost在父类里均不是抽象方法,是否复写是可选择的。这不是实质。

追答

有时候你只重写了一个方法,另外一个方法则需要写调用你重写的方法

第3个回答  2013-11-25
把doGet方法删掉,把doPost方法改为service
相似回答