web应用程序中的Servlet映射

问题描述:

当前我正在为Web应用程序工作。其实我的代码看起来像下面web应用程序中的Servlet映射

<div class="article"> 
            <form action="currentcondition.do" method="post"> 
             <table> 
              <tr><td>Disease Name</td><td><input type="text" name="disease" required/></td></tr> 
              <tr><td>Status</td><td><select name="status"><option>-Select-</option> 
                 <option>Current : Currently has this</option> 
                 <option>Intermittent : Comes and Goes</option> 
                 <option>Past : No longer has this</option> 
                </select> </td></tr> 
              <tr><td>Start Date</td><td><input type="date" name="sdate"/></td><td>End Date</td><td><input type="date" name="edate"/></td></tr> 
              <tr><td>Hospital Name</td><td><input type="text" name="hname" /></td><td>Dr Phone</td><td><input type="text" name="dphone" maxLength="10"/></td></tr> 
              <tr><td>Note</td><td><textarea name="note"></textarea></td></tr> 
              <tr><td>Click here to</td><td><input type="submit" value="save"/></td></tr> 
             </table> 
            </form> 
       </div> 

这里呼吁行动currentcundition.do。我想这是servlet程序,命名为currentcondition.java。如何将这个servlet程序映射到我的web应用程序。请帮我在这里停留

这是我的servlet代码它命名为currentcundition.java

@WebServlet(name = "currentcondition", urlPatterns = {"/currentcondition.do"}) 
public class currentcondition extends HttpServlet { 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     response.setContentType("text/html;charset=UTF-8"); 
     PrintWriter out = response.getWriter(); 
     try { 

      String disease= request.getParameter("disease");    
      String abedisease= attributebasedencryption.getattributebasedencryptionInstance().stringToHex(disease); 
      request.setAttribute("abedisease", abedisease); 
      RequestDispatcher go = request.getRequestDispatcher("/savecurrentcondition.jsp"); 
      go.forward(request, response); 
     } 

编辑

我的web.xml代码

<servlet> 
    <servlet-name>PHP</servlet-name> 
    <servlet-class>com.controller.currentcondition</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>PHP</servlet-name> 
    <url-pattern>/PHP/currentcondition.do</url-pattern> 
</servlet-mapping> 

这是不展示我期待什么。请指导我

+1

请参考下面的回答https://*.com/a/18889931/3270795希望这会有所帮助。 –

+0

我已编辑我的问题,现在请指导我 – dell

如果你可以在你的servlet代码中使用注释这样

@WebServlet("/loginServlet") 
public class LoginServlet extends HttpServlet { 
     //your code 
} 

,那么你可以直接定义操作=“loginServlet”

+0

看到我的编辑在我的问题部分,请让我知道我需要做什么 – dell

+0

你没有一个get post方法重写..?并只使用urlPatterns = {“/ currentcondition”}删除表单中的do部分,他们会自动转发到正确的方法 –

+0

我没有得到你所说的 – dell

你的代码应该在doPost而不是processRequest方法,因为doPost将被调用,因为您在表单中使用了method="post"