2017-08-09 59 views
2

當前我正在爲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://stackoverflow.com/a/18889931/3270795希望這會有所幫助。 –

+0

我已編輯我的問題,現在請指導我 – dell

回答

0

如果你可以在你的servlet代碼中使用註釋這樣

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

,那麼你可以直接定義操作=「loginServlet」

+0

看到我的編輯在我的問題部分,請讓我知道我需要做什麼 – dell

+0

你沒有一個get post方法重寫..?並只使用urlPatterns = {「/ currentcondition」}刪除表單中的do部分,他們會自動轉發到正確的方法 –

+0

我沒有得到你所說的 – dell

0

你的代碼應該在doPost而不是processRequest方法,因爲doPost將被調用,因爲您在表單中使用了method="post"