Ich bekomme einen Servlet nicht gefunden Fehler. Ich benutze WIldFly. Meine Verzeichnisstruktur sieht wie folgt aus:Servlet nicht gefunden Fehler
root -> app, converter.html, src
app -> WEB-INF
WEB-INF -> Klassen, lib, web.xml
src -> servlet.java
ich habe für eine Weile über sie gesucht und kann das Problem nicht Stift zeigen. Ich denke, ich habe die Zuordnung korrekt in der web.xml und die Formularaktion scheint auch an die richtige Stelle in der .html-Datei gesendet zu werden.
Servletklasse:
import java.io.IOException;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class servlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String username = request.getParameter("username");
String email = request.getParameter("email");
response.getWriter().println("<html>");
response.getWriter().println("<head>");
response.getWriter().println("<title>Title</title>");
response.getWriter().println("</head>");
response.getWriter().println("<body>");
response.getWriter().println("Convert. ");
response.getWriter().println("</body>");
response.getWriter().println("</html>");
}
}
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
</web-app>
converter.html
<!DOCTYPE html>
<html>
<head>
<title> Test form </title>
</head>
<body>
<form action="http://localhost:8080/root/src/servlet" method="get">
Name: <input type="text" name="username"><br>
Email: <input type="text" name="email"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
Er braucht die URL zu ändern, um ' "/ Servlet"' gemäß dem 'Servlet-mapping' Eintrag. Wenn er zu POST wechselt, muss er auch 'doGet()' in 'doPost()' ändern. – EJP
In Asien entstandene Codesnippet-Scraping-Seiten voll mit Werbebannern, die sich selbst als "Tutorials" zeigen, müssen mit einer riesigen Tüte Salz (roseindia, tutorialspoint, javabeat, etc..etc ..) eingenommen werden. Sie tun das alles nur für Werbeeinnahmen. Bitte ignoriere und schreibe sie auf die schwarze Liste. Verlassen Sie sich stattdessen auf die eigenen Tutorials und maßgeblichen Bücher von Oracle (und natürlich auf stark überlegte Antworten auf Stack Overflow). – BalusC
Wenn Sie sagen, ändern Sie die URL zu "/ servlet", beziehen Sie sich auf die Formularaktion? also