Problem with POST form in html5 and jsp

2

At the time of declaring a form html in a jsp. the program runs but the class says "Element 'UserHandler' not found", because I get this error? these are my files user.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.2/css/materialize.min.css" rel="stylesheet"/>
<link type="text/css" rel="stylesheet" href="resources/css/miPrimerCSS.css" />

<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.2/js/materialize.min.js"></script>
<title>Add New User</title>
</head>


<body>
    <form method="POST" action='UserHandler' name="frmAgregarUsuario">
    <input type="hidden" name="action" value="insert" />



    <div class="card-panel teal lighten-2">
      <span class="white-text text-darken-2">AGREGAR UN NUEVO RECORD</span>
    </div>

<table>






    <tr>
        <td><input type="text" name="userid" placeholder=" ID DE USUARIO " /></td>
    </tr>

    <tr>
        <td><input type="text"  name="firstName" placeholder=" INGRESE EL NOMBRE " /></td>
    </tr>
    <tr>
        <td><input type="text"  name="lastName" placeholder=" INGRESE EL APELLIDO " /></td>
    </tr>
    <tr>


        <td><button class="btn waves-effect waves-light" type="submit" name="action">Enviar</button></td>

    </tr>
</table>
</form>

<!--   -->
<p><a class="waves-effect waves-light btn-large " href="UserHandler?action=listUser">Todos los Records</a>


</body>
</html>

UserHandler.java

package net.roseindia.handler;

import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.roseindia.dao.UserDao;
import net.roseindia.bean.UserBean;

public class UserHandler extends HttpServlet {    
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private static String INSERT = "/user.jsp";
    private static String Edit = "/edit.jsp";
    private static String UserRecord = "/listUser.jsp";
    private UserDao dao;

    public UserHandler() {
        super();
        dao = new UserDao();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String redirect="";
        String uId = request.getParameter("userid");        
        String action = request.getParameter("action");
        if(!((uId)== null) && action.equalsIgnoreCase("insert"))
        {
            int id = Integer.parseInt(uId);
            UserBean user = new UserBean();
            user.setId(id);
            user.setfName(request.getParameter("firstName"));
            user.setlName(request.getParameter("lastName"));
            dao.addUser(user);
            redirect = UserRecord;
            request.setAttribute("users", dao.getAllUsers());    
            System.out.println("Record Added Successfully");
        }
        else if (action.equalsIgnoreCase("delete")){
            String userId = request.getParameter("userId");
            int uid = Integer.parseInt(userId);
            dao.removeUser(uid);
            redirect = UserRecord;
            request.setAttribute("users", dao.getAllUsers());
            System.out.println("Record Deleted Successfully");
        }else if (action.equalsIgnoreCase("editform")){         
            redirect = Edit;            
        } else if (action.equalsIgnoreCase("edit")){
            String userId = request.getParameter("userId");
            int uid = Integer.parseInt(userId);            
            UserBean user = new UserBean();
            user.setId(uid);
            user.setfName(request.getParameter("firstName"));
            user.setlName(request.getParameter("lastName"));
            dao.editUser(user);
            request.setAttribute("user", user);
            redirect = UserRecord;
            System.out.println("Record updated Successfully");
         } else if (action.equalsIgnoreCase("listUser")){
            redirect = UserRecord;
            request.setAttribute("users", dao.getAllUsers());
         } else {
            redirect = INSERT;
        }

        RequestDispatcher rd = request.getRequestDispatcher(redirect);
        rd.forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}

    
asked by Gerardo Bautista 23.06.2017 в 07:50
source

1 answer

0

I think you need to declare the servlet in the web.xml:

<servlet>
    <servlet-name>MiUserHandler</servlet-name>
    <servlet-class>mi.paquete.com.UserHandler</servlet-class>
  </servlet>
<servlet-mapping>
    <servlet-name>MiUserHandler</servlet-name>
    <url-pattern>/UserHandler</url-pattern>
 </servlet-mapping>

And in the jsp invoke the action with diagonal action='/UserHandler'

    
answered by 01.09.2017 в 02:44