【发布时间】:2017-12-06 19:37:28
【问题描述】:
当我尝试在一个类中使用 doGet 和 doPost 并使用 post 方法传递参数时,我得到了
HTTP 状态 405 - 此 URL 不支持 HTTP 方法 GET
但是当我评论 doGet 时,它工作得很好。这是为什么? doGet和doPost不能在同一个类中使用?
这是课程代码:
package pl.javastart.servlets;
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 wypisz_parametry extends HttpServlet {
private static final long serialVersionUID = 1321321321L;
/*public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
String parametr1 = request.getParameter("parametr1");
String parametr2 = request.getParameter("parametr2");
String parametr3 = request.getParameter("parametr3");
out.println("Wczytanie 3 parametrow z zadania :");
out.println(parametr1);
out.println(parametr2);
out.println(parametr3);
}*/
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("Wczytanie 3 parametrow z zadania :");
out.println(request.getParameter("parametr1"));
out.println(request.getParameter("parametr2"));
out.println(request.getParameter("parametr3"));
}
}
还有html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Przyklad POST</TITLE>
</HEAD>
<H1 ALIGN="CENTER">Przyklad HTTP POST</H1>
<FORM ACTION="http://localhost:8080/Parameters/wypisz_parametry"
METHOD="POST">
Parametr 1:
<INPUT TYPE="TEXT" NAME="parametr1"><BR>
Parametr 2:
<INPUT TYPE="TEXT" NAME="parametr2"><BR>
Parametr 3:
<INPUT TYPE="TEXT" NAME="parametr3"><BR>
<INPUT TYPE="SUBMIT" VALUE="Wyslij">
</FORM>
</BODY>
</HTML>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<servlet>
<servlet-name>Parameters</servlet-name>
<servlet-class>pl.javastart.servlets.wypisz_parametry</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Parameters</servlet-name>
<url-pattern>/wypisz_parametry</url-pattern>
</servlet-mapping>
</web-app>
【问题讨论】:
-
对我来说看起来不错。可能是您的 url 映射有问题。请将您的 web.xml 添加到您的问题中。