2017-05-27 93 views
1

我在从一个应该从HTML表单获取数据的servlet中收到任何类型的响应时遇到了问题。Java servlet没有响应表单动作

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(位于SRC/web服务/ 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>"); 
      }  
     } 
} 

希望有人能指出我的位置nt wrong :)

+1

是你的jsp响应到达你的servlet吗? –

+0

假设你的JSP是正确的,你可以检查1.服务器日志2.注释掉servlet中的所有代码,除了'out.println(“

AddSelection.Java已经运行,

”);'3.调试servlet代码。 – ujulu

+0

我已经使用System.out.println和out.println,但似乎没有发生..我不知道为什么似乎没有发生。我也尝试使用@webservlet注释,但同样的事情..每当我点击表单中的提交按钮,什么都不会发生。 –

回答

0

清理项目并再次运行 或 从服务器中删除并再次添加到服务器并运行它。