我正在尝试从javascript调用serlvet。下面的代码:
document.location.href="service1servlet";
它完美地将调用委托给servlet,但错误为:
HTTP Status 405 - HTTP method GET is not supported by this URL
我想它正在寻找servlet中的doGet方法。如何使其在该servlet中调用doPost方法? Servlet的doPost方法如下:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("THIS IS IN SERVICE!SERVLET AND CAN CHANGE DATABASE");
}
使用document.location.href,无法发送POST请求。
您的servlet为什么仅支持POST方法?如果没有,我建议您坚持使用GET方法。
无论如何,您始终可以在doGet方法中调用doPost。
定义一个doGet方法,例如ff。例如:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
或者如果您真的只需要支持POST方法,那么您提到的Javascript函数将无法正常工作。 POST请求可以通过提交表单来完成。
[您可以使用Ajax或jQuery来完成。这是jQuery代码,用于调用以/yourServlet
的url模式映射的servlet。
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$.post('yourServlet', function(data) {
alert(data);
});
</script>
我建议您仔细阅读