uso tutorial ejemplos ejemplo datos basico jsp servlets html-form

tutorial - Cómo transferir datos de JSP a servlet al enviar un formulario HTML



jstl ejemplos (4)

Tengo una página JSP con un formulario HTML:

<form action="SERVLET"> <input type="text" name="name"/><br> <input type="text" name="group"/> <input type="text" name="pass"/> <input type="submit" value="submit"> </form>

¿Cómo obtener estos datos en un servlet y agregarlos a la base de datos?


Bueno, hay muchos tutoriales de bases de datos en línea para Java (lo que estás buscando se llama JDBC). Pero si está utilizando servlets simples, tendrá una clase que amplía HttpServlet y dentro de ella tendrá dos métodos que se verán como

public void doPost(HttpServletRequest req, HttpServletResponse resp){ }

y

public void doGet(HttpServletRequest req, HttpServletResponse resp){ }

Uno de ellos se llama para manejar operaciones GET y otro se usa para manejar operaciones POST . A continuación, utilizará el objeto HttpServletRequest para obtener los parámetros que se pasaron como parte del formulario de la siguiente manera:

String name = req.getParameter("name");

Luego, una vez que tenga los datos del formulario, es relativamente fácil agregarlos a una base de datos usando un tutorial JDBC que está ampliamente disponible en la web. También sugiero buscar un tutorial básico de servlets de Java para que comiences. Es muy fácil, aunque hay una serie de pasos que deben configurarse correctamente.


Cree una clase que amplíe HttpServlet y coloque la anotación @WebServlet con la URL deseada en la que el servlet debe escuchar.

@WebServlet("/yourServletURL") public class YourServlet extends HttpServlet {}

Y solo deja que <form action> point esta URL. También recommend usar el método POST para solicitudes no idempotentes. Debe asegurarse de haber especificado el atributo de name de los campos de entrada de formulario HTML ( <input> , <select> , <textarea> y <button> ). Esto representa el nombre del parámetro de solicitud HTTP. Finalmente, también debe asegurarse de que los campos de entrada de interés estén encerrados dentro del formulario deseado y, por lo tanto, no en el exterior.

Aquí hay algunos ejemplos de varios campos de entrada de formulario HTML :

<form action="${pageContext.request.contextPath}/yourServletURL" method="post"> <p>Normal text field. <input type="text" name="name" /></p> <p>Secret text field. <input type="password" name="pass" /></p> <p>Single-selection radiobuttons. <input type="radio" name="gender" value="M" /> Male <input type="radio" name="gender" value="F" /> Female</p> <p>Single-selection checkbox. <input type="checkbox" name="agree" /> Agree?</p> <p>Multi-selection checkboxes. <input type="checkbox" name="role" value="USER" /> User <input type="checkbox" name="role" value="ADMIN" /> Admin</p> <p>Single-selection dropdown. <select name="countryCode"> <option value="NL">Netherlands</option> <option value="US">United States</option> </select></p> <p>Multi-selection listbox. <select name="animalId" multiple="true" size="2"> <option value="1">Cat</option> <option value="2">Dog</option> </select></p> <p>Text area. <textarea name="message"></textarea></p> <p>Submit button. <input type="submit" name="submit" value="submit" /></p> </form>

Cree un método doPost() en su servlet que tome los valores de entrada enviados como parámetros de solicitud codificados por el name del campo de entrada (¡ no id !). Puede usar request.getParmeter() para obtener el valor enviado de los campos de valor único y request.getParameterValues() para obtener los valores enviados de los campos multivalor.

@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); String pass = request.getParameter("pass"); String gender = request.getParameter("gender"); boolean agree = request.getParameter("agree") != null; String[] roles = request.getParameterValues("role"); String countryCode = request.getParameter("countryCode"); String[] animalIds = request.getParameterValues("animalId") String message = request.getParameter("message"); boolean submitButtonPressed = request.getParameter("submit") != null; // ... }

Haga si es necesario alguna validation y finalmente persista en el DB la forma habitual JDBC / DAO .

User user = new User(name, pass, roles); userDAO.save(user);

Ver también:


primero crea tu archivo jsp: y escribe el campo de texto que quieras
por ejemplo:

después de eso crea tu clase de servlet:

public class test{ protected void doGet(paramter , paramter){ String name = request.getparameter("name"); } }