当前位置: 代码迷 >> Java Web开发 >> 求助:为什么只能调用doget方法而不能用dopost方法??
  详细解决方案

求助:为什么只能调用doget方法而不能用dopost方法??

热度:306   发布时间:2007-08-08 10:37:12.0
求助:为什么只能调用doget方法而不能用dopost方法??

用MyEclipse+Apache Tomcat/6.0.2练习一个Servlet程序,只有doget方法有返回值,dopost方法出错
代码如下:
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class HelloServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}

}


浏览器中只有doget输出了,dopost没输出。
如果把上面的代码分成两个,一个doget和一个dopost单独运行,doget可以正常输出,dopost报错了,
dopost报错如下:
HTTP Status 405 - HTTP method GET is not supported by this URL

--------------------------------------------------------------------------------

type Status report

message HTTP method GET is not supported by this URL

description The specified HTTP method is not allowed for the requested resource (HTTP method GET is not supported by this URL).


--------------------------------------------------------------------------------

Apache Tomcat/6.0.2

不知道怎么回事,请大家指点一下,本人太菜了

搜索更多相关主题的帖子: doget  dopost  

----------------解决方案--------------------------------------------------------
把method="get" 换成 method="post" 看看

----------------解决方案--------------------------------------------------------

代码中没有method啊,说具体点好吗?


----------------解决方案--------------------------------------------------------
一个表单要么是POST要么是GET,method是HTML表单中的属性
如果是POST那就输出dopost,GET就输出doget
----------------解决方案--------------------------------------------------------
我试试看,3Q了
----------------解决方案--------------------------------------------------------