Web应用程序中的Servlet映射

时间:2017-08-09 09:52:34

标签: java xml servlets web

目前我正在为网络应用程序工作。实际上我的代码如下所示

<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>

它没有表现出我所期待的东西。请指导我

2 个答案:

答案 0 :(得分:0)

如果你可以使用这样的注释

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

在您的servlet代码上,然后您可以直接定义action =&#34; loginServlet&#34;

答案 1 :(得分:0)

您的代码应采用doPost而不是processRequest方法,因为您在表单中使用doPost,因此会调用method="post"