Servlet-Fehler HTTP-Status 405 - HTTP-Methode GET wird nicht unterstützt von dieser URL
Ich geschrieben habe das folgende Servlet (Search1.java):
package ergasia;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.ArrayList;
public class Search1 extends HttpServlet
{
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
Connection connection= null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "ergasia";
String user = "root";
String password = "password";
PreparedStatement selectProteins = null;
ResultSet resultSet = null;
ArrayList al = null;
try {
connection = DriverManager.getConnection(url + dbName, user, password);
String keyword = request.getParameter("keyword");
selectProteins = connection.prepareStatement("SELECT * FROM protein WHERE proteinName LIKE ?");
selectProteins.setString(1, "%" + keyword + "%");
resultSet = selectProteins.executeQuery();
ArrayList keyword_list = new ArrayList();
while (resultSet.next()) {
al = new ArrayList();
al.add(resultSet.getString(1));
al.add(resultSet.getString(2));
al.add(resultSet.getString(3));
al.add(resultSet.getString(4));
al.add(resultSet.getString(5));
al.add(resultSet.getString(6));
al.add(resultSet.getString(7));
keyword_list.add(al);
}
request.setAttribute("results", keyword_list);
RequestDispatcher view = request.getRequestDispatcher("/search_proteins.jsp");
view.forward(request, response);
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public String getServletInfo() {
return "info";
}
}
dass ich den Zugriff vom jsp-Seite mit dem folgenden Befehl:
<form method="post" action="/ergasia/Search1">
aber wenn ich ihn starten tomcat gibt mir die folgende Fehlermeldung:
HTTP Status 405 - HTTP-Methode GET wird nicht unterstützt von dieser URL
Typ:Statusbericht
Meldung:HTTP-Methode GET wird nicht unterstützt von dieser URL
Beschreibung:Die angegebene HTTP-Methode ist nicht für die angeforderte Ressource.
Hier ist meine web.xml Datei:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>Search_proteins</servlet-name>
<servlet-class>ergasia.Search1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Search_proteins</servlet-name>
<url-pattern>/Search_proteins</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Könnten Sie bitte mir helfen herauszufinden, was ich falsch gemacht habe?
Leider kann ich keine Bilder hochladen noch, also hier ist meine Konfiguration, vielleicht wird das helfen:Eins
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihnen servlet nicht url-pattern als
/ergasia/Search1
, versuchen Sie dies statt:Versuchen, diese :
mit url-mapping :
Wenn wir schreiben method="get" im form-action, doGet() geschrieben, die in Servlets, wenn method="post", dann doPost() geschrieben wird. Aber Ihre Fehler "HTTP-Methode GET wird nicht unterstützt von dieser URL" verdrahtet ist, da der code bei einem Formular Aktion und doPost () - Methode korrekt ist. Ich denke, dass einige Konfiguration falsch web.xml.
Ändern Sie bitte untenstehenden code in Ihre web.xml.