Servlet-mapping funktioniert nicht
Habe ich einen einfachen Programms mithilfe von JSP und Servlets. Schließlich habe ich auch eingestellt und abgebildet mein servlet in web.xml wie im Bild unten gezeigt. Aber ich erhalte eine leere Seite, immer.
<servlet>
<servlet-name>example</servlet-name>
<servlet-class>exampleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>example</servlet-name>
<url-pattern>/exampleServlet</url-pattern>
</servlet-mapping>
Meine JSP Datei sieht wie folgt aus.
<html>
<head></head>
<body>
<form action ="exampleServlet" method="POST" enctype="multipart/form-data">
<table width="500" style="margin-top:100px;">
<tr>
<td>Subject</td>
<td><input type="text" name="subj" id="subj"/></td>
</tr>
<tr>
<td>Upload File</td>
<td><input type="file" name="upload_file" id="upload_file"/></td>
</tr>
<tr>
<td> </td>
<td></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Upload" /></td>
</tr>
</table>
</form>
</body>
</html>
Jede exampleServlet ist,
import java.io.File;
import java.util.List;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
public class exampleServlet extends HttpServlet {
public void init() {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String sub = request.getParameter("subj");
System.out.println(sub);
}
}
Meine Datei-Struktur ist,
JSP file --> tomcat/webapps/application/index.jsp
Servlet --> tomcat/webapps/application/WEB-INF/classes/exampleServlet.class
Wo ging ich schief? Was ist der Fehler, den ich gemacht habe? Können Sie bitte mir empfehlen?
EDIT : ich bin Entsendung meine Formular-Elemente an das servlet. Von dieser Zeit übergibt die URL wie folgt http://localhost:8080/application/exampleServlet
Wie werden Sie versuchen, darauf zuzugreifen, und wenn ist es ein geben mit der leeren Seite?
Was will man erwarten, zu bekommen, wenn Ihr doPost-Methode macht nichts anderes druckt?
Ich bearbeitet meine post mit den erforderlichen details. Bitte sehen, dass
Ich möchte den Dateipfad der ausgewählten Datei hochladen. Aber zunächst will ich testen, ob der flow gut geht. Das ist, warum ich Schreibe den Wert. Aber es kommt nicht in der Funktion.
die tomcat-container, die Sie verwenden ?
Was will man erwarten, zu bekommen, wenn Ihr doPost-Methode macht nichts anderes druckt?
Ich bearbeitet meine post mit den erforderlichen details. Bitte sehen, dass
Ich möchte den Dateipfad der ausgewählten Datei hochladen. Aber zunächst will ich testen, ob der flow gut geht. Das ist, warum ich Schreibe den Wert. Aber es kommt nicht in der Funktion.
die tomcat-container, die Sie verwenden ?
InformationsquelleAutor Edwin Alex | 2013-05-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alles ist Prima in der Anwendung. Sie sind die erste leere Seite, weil Ihr
doPost
Methode tut nichts. Es druckt den Wert nur auf der Konsole ausgegeben.Ändern, um z.B.:
Nehmen und dann schauen ob
something
im browser angezeigt wird.Haben Sie Tomcat neu gestartet, nachdem Sie die änderungen vorgenommen?
OMG. Ich ging verrückt. Ich war versucht auch weiterhin, ohne Neustart von Tomcat. Jetzt ist es Arbeit. Danke Mann.
Kein problem. Denken Sie daran, nachdem Sie änderungen vorgenommen haben, müssen Sie neu starten servlet-container. Wenn Sie nur immer auf die erneute Bereitstellung Ihrer Anwendung wird es schließlich genügend Arbeitsspeicher zur Verfügung.
InformationsquelleAutor Paulius Matulionis
Wenn der "Fehler" passiert, wenn Sie das Formular abschicken, weil dein servlet nicht wiedergegeben wird keine Ausgabe, noch wieder alle Verantwortung bei allen. In Ihrem
doPost
Sie sollen schreiben, eine Antwort zurück an den browser, oder mit der hand über die Anfrage zu etwas, dass nicht.wäre zumindest etwas drucken, aber nichts sehr nützlich.
Ist die "richtige" Sache zu tun wäre, um umzuleiten, oder eine Ansicht, die die rendering.
Legen Sie einen Haltepunkt oder schreiben etwas auf die Konsole und sehen Sie, wenn Sie Ihre servlet ist überhaupt aufgerufen wird.
Jetzt ist es Arbeit. Ich danke Ihnen so sehr
InformationsquelleAutor NilsH
Versuchen, die verschiedenen
servlet-clas
Namen alsurl-pattern.
etwas wie folgenden oder Umgekehrt
nach der änderung den server neu starten
InformationsquelleAutor ajduke
Wahrscheinlich Ihre Anfrage nicht mit der URL übereinstimmt Muster. Versuchen Sie es so :
Editiert.. man sollte gehen.. /application/ sollte in der webcontext Weg.
InformationsquelleAutor Vineet Singla