Servlets:doPost和doGet简单查询
} 从我对doGet和doPost的理解来看,我把Hello,world信息放在哪里并不重要。但是,当我尝试使用doPost方法打印它时,它不起作用。有人能给我解释一下吗 还有,从Servlets:doPost和doGet简单查询,servlets,Servlets,} 从我对doGet和doPost的理解来看,我把Hello,world信息放在哪里并不重要。但是,当我尝试使用doPost方法打印它时,它不起作用。有人能给我解释一下吗 还有,从 public class CornelltaxiServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp
public class CornelltaxiServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
}
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
//resp.setContentType("text/plain");
//resp.getWriter().println("Hello, world");
}
这是做什么的?当请求HTTP GET时,例如当您在浏览器中键入servlet的URL时,会调用doGet方法。然后,Hello,world将出现在浏览器中
另一方面,doPost将用于HTTP POST。例如,您需要:
void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Preprocess request: we actually don't need to do any business stuff, so just display JSP.
request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request, response);
}
request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request, response);
这将把请求处理转发到hello.jsp。基本上,将呈现该文件的内容,而不是您的Hello,world。使用resp.getWriter和forwarding发送内容是错误的。选择一个。您如何发送数据?您需要提交一份表格,以便点击doPost
<form method="POST" action="/your/servlet"
request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request, response);