1
Ich habe Probleme, irgendeine Antwort von einem Servlet zu erhalten, das Daten von einem HTML-Formular aufnehmen soll.Java-Servlet reagiert nicht auf Formularaktion
JSP:
<div class="container bordered subtleShadow fadeBG">
<form id="configForm" action="AddSelection" method="post">
<div id="configTabs" role="tabs">
<div class="col-md-11 col-centered text-center bordered subtleShadow">
<ul class="nav nav-pills center-pills tabs_menu">
<li class="nav-item mx-auto tabs_menu-item"><a
class="nav-link configMenu subtleShadow" href="#">Type of sanding</a></li>
<li class="nav-item mx-auto tabs_menu-item"><a
class="nav-link configMenu subtleShadow" href="#">Length</a></li>
<li class="nav-item mx-auto tabs_menu-item"><a
class="nav-link configMenu subtleShadow" href="#">Height</a></li>
<li class="nav-item mx-auto tabs_menu-item"><a
class="nav-link configMenu subtleShadow" href="#">Grit</a></li>
<li class="nav-item mx-auto tabs_menu-item"><a
class="nav-link configMenu subtleShadow" href="#">Cuts</a></li>
</ul>
</div>
<div class="tabs_content">
<div class="tabs_content-item">
<div class="row">
<div class="col-md-6">
<div class="embed-responsive embed-responsive-4by3">
<iframe class="embed-responsive-item ytShadow"
src="https://www.youtube.com/embed/4h17T2bsYF4?autoplay=0"></iframe>
</div>
</div>
<div class="col-md-6">
<h1 class="underlined">Type of sanding</h1>
<p>DESCRIPTION1</p>
<div class="row bordered centered">
<div class="col-md-12 text-center">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary">
<input type="radio" name="type" value="Wood" id="woodInput">Wood</label>
<label class="btn btn-primary">
<input type="radio" name="type" value="Sealer" id="sealerInput">Sealer</label>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tabs_content-item">
<div class="row">
<div class="col-md-6">
<div class="embed-responsive embed-responsive-4by3">
<iframe class="embed-responsive-item ytShadow"
src="https://www.youtube.com/embed/4h17T2bsYF4?autoplay=0"></iframe>
</div>
</div>
<div class="col-md-6">
<h1 class="underlined">Length</h1>
<p>DESCRIPTION2</p>
<div class="row bordered centered">
<div class="col-md-6 text-center inputfield">
<label id="clengthLabel" for="configbuilderLengthField" class="col-xs-4">Length:</label>
<div class="form-group">
<input id="configbuilderLengthField" type="number" value="100" min="60" max="1600" name="length" class="form-control stdMargin boxShadow blueBorder">
</div>
<p class="verticalAlignTxt">mm.</p>
</div>
</div>
</div>
</div>
</div>
<div class="tabs_content-item">
<div class="row">
<div class="col-md-6">
<div class="embed-responsive embed-responsive-4by3">
<iframe class="embed-responsive-item boxShadow"
src="https://www.youtube.com/embed/4h17T2bsYF4?autoplay=0"></iframe>
</div>
</div>
<div class="col-md-6">
<h1 class="underlined">Height</h1>
<p>DESCRIPTION3</p>
<div class="row bordered centered">
<div class="col-md-12 text-center">
<div id="heightConfig" class="btn-group" data-toggle="buttons">
<label class="btn btn-primary">
<input type="radio" name="height" value="46" id="mm46">46 mm.</label>
<label class="btn btn-primary">
<input type="radio" name="height" value="61" id="mm61">61 mm.</label>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tabs_content-item">
<div class="row">
<div class="col-md-6">
<div class="embed-responsive embed-responsive-4by3">
<iframe class="embed-responsive-item boxShadow"
src="https://www.youtube.com/embed/4h17T2bsYF4?autoplay=0"></iframe>
</div>
</div>
<div class="col-md-6">
<h1 class="underlined">Grit</h1>
<p>DESCRIPTION4</p>
<div class="row bordered centered">
<div class="col-md-6 text-center inputfield">
<div id="gritForm" class="form-group">
<p class="pmb stdMargin">
<span class="alert-link">OBS: </span><span class="bsBlue">Please
select type of sanding first!</span>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tabs_content-item">
<div class="row">
<div class="col-md-6">
<div class="embed-responsive embed-responsive-4by3">
<iframe class="embed-responsive-item boxShadow"
src="https://www.youtube.com/embed/4h17T2bsYF4?autoplay=0"></iframe>
</div>
</div>
<div class="col-md-6">
<h1 class="underlined">Cuts</h1>
<p>DESCRIPTION5</p>
<div class="row bordered centered">
<div class="col-md-6 text-center inputfield">
<div id="cutsForm" class="form-group stdMargin">
<input class="magic-checkbox" type="checkbox" name="cuts"
id="cut3" value="option"> <label
class="text radiolabel" for="cut3">3 mm.</label> <input
class="magic-checkbox" type="checkbox" name="cuts"
id="cut5" value="option"> <label
class="text radiolabel" for="cut5">5 mm.</label> <input
class="magic-checkbox" type="checkbox" name="cuts"
id="cut10" value="option"> <label
class="text radiolabel" for="cut10">10 mm.</label> <input class="magic-checkbox" type="checkbox" name="cuts" id="cut20" value="option"> <label class="text radiolabel" for="cut20">20 mm.</label>
</div>
</div>
</div>
<div id="addSelectionDiv">
<p class="alert-link" style="margin-top: -8;">OBS: </p>
<p id="errorDiv" style="margin-top: -20;">
<span><i class='fa fa-asterisk' aria-hidden='true'></i></span><span class='bsBlue'>Please set a type of sanding.</span>
<span><i class='fa fa-asterisk' aria-hidden='true'></i></span><span class='bsBlue'>Please set a length.</span>
<span><i class='fa fa-asterisk' aria-hidden='true'></i></span><span class='bsBlue'>Please set a height.</span>
<span><i class='fa fa-asterisk' aria-hidden='true'></i></span><span class='bsBlue'>Please pick a grit(s).</span>
<span><i class='fa fa-asterisk' aria-hidden='true'></i></span><span class='bsBlue'>Please pick a cut(s).</span>
</p>
</div>
<input id="addSelection" class="btn btn-outline-primary boxShadow w-75 centered" type="submit" value="Add Selection">
</div>
</div>
</div>
</div>
<div class="row buttonRow">
<div class="col-md-6">
<p class="currentConP">
<span id="curConLabel" class="alert-link">Current
configuration: </span></p> <p class="currentConP2"> <span id="tosFiller">Type:</span><span class="bsBlue" id="tosSpan"> - </span> <span id="lengthSpan"></span>
<span id="heightSpan"></span>
<span id="gritsLabel"> - Grits: </span> <span id="gritsSpan" class="bsBlue"></span>
<span id="cutsLabel"> - Cuts: </span> <span id="cutsSpan" class="bsBlue"></span>
</p>
</div>
<div class="col-md-6">
<div class="btn-group configButtonGroup inline">
<a class="btn btn-default configButton tabs-controls_prev"
id="backBtn" href="#"><i class="fa fa-chevron-left fa-fw"></i>Previous</a>
<a class="btn btn-success configButton tabs-controls_next"
id="nextBtn" href="#">Next<i class="fa fa-chevron-right fa-fw"></i></a>
</div>
</div>
</div>
</div>
</form>
web.xml:
<servlet>
<servlet-name>AddSelection</servlet-name>
<servlet-class>webservices.AddSelection</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddSelection</servlet-name>
<url-pattern>/AddSelection</url-pattern>
</servlet-mapping>
AddSelection.java (liegt in src/webservices/AddSelection.java):
public class AddSelection extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<p>AddSelection.Java has run.</p>");
ArrayList<Selection> list = new ArrayList<Selection>();
String type = request.getParameter("type");
int length = Integer.parseInt(request.getParameter("length"));
int height = Integer.parseInt(request.getParameter("height"));
String grits[] = request.getParameterValues("grits");
String cuts[] = request.getParameterValues("cuts");
for (int i = 0; i < grits.length; i++) {
for (int k = 0; k < cuts.length; k++) {
Selection curr = new Selection(type, length, height, Integer.parseInt(grits[i]), Integer.parseInt(cuts[k]));
list.add(curr);
}
}
for (Selection selection : list){
out.println("<p>Type: " +selection.getType() +"</p>");
}
}
}
Hoffe jemand kann darauf hinweisen, wo ich wir sind nt falsch :)
erreicht Ihre JSP-Antwort Ihr Servlet? –
Angenommen, Ihre JSP ist korrekt, können Sie überprüfen 1. Serverprotokoll 2. Kommentieren Sie den gesamten Code im Servlet außer 'out.println ("
AddSelection.Java wurde ausgeführt.
"); '3. debuggen Sie den Servlet-Code. – ujuluIch habe sowohl System.out.println als auch die out.println benutzt, aber nichts scheint zu passieren. Ich habe keine Ahnung, warum scheinbar nichts passiert. Ich habe auch versucht, die Annotation @webservlet, aber das gleiche zu verwenden .. Nichts passiert, wenn ich auf den Absenden-Button im Formular klicke. –