Los servlets son los programas Java que se ejecutan en el servidor web o en el servidor de aplicaciones habilitado para Java. Se utilizan para manejar la solicitud obtenida del servidor web, procesar la solicitud, producir la respuesta y luego enviar una respuesta al servidor web.
Ahora aprendamos cómo cargar un archivo a un servidor en esta sección. En un archivo HTML, el método debe publicarse y el enctype debe ser multipart/form-data al cargar un archivo en el servidor.
Creación de un formulario de carga de archivos
- El siguiente código HTML a continuación crea un formulario de carga. Los siguientes son algunos factores clave para recordar:
- El método de formulario debe establecerse en POST y no debe utilizarse el método GET.
- Se debe usar la propiedad multipart/form-data enctype.
- Establezca la propiedad de acción de formulario en un archivo de servlet que manejará la carga de archivos en el servidor backend. Para cargar un archivo, el siguiente ejemplo utiliza el servlet UploadServlet.
- Para cargar un solo archivo, use un solo elemento <input…/> con el atributo type=”file”. Incluya varias etiquetas de entrada con nombres distintos para el atributo de nombre para permitir que se carguen varios archivos. Cada uno de ellos tiene un botón Examinar asociado en el navegador.
Implementación:
Paso 1: Crearemos un proyecto web dinámico en Eclipse y la estructura del proyecto se verá como la imagen de abajo.
Recuerde: Hay varias opciones para subir un archivo al servidor. Sin embargo, vamos a utilizar la clase MultipartRequest de O’Reilly . Necesitaremos el archivo cos.jar para usar esta clase.
A. Archivo: index.html
HTML
<html> <body> <form action="GoGfg" method="post" enctype="multipart/form-data"> Select File:<input type="file" name="fname"/><br/> <input type="submit" value="upload"/> </form> </body> </html>
B. Archivo: GfgFileUpload.java
Asegúrese de haber creado los directorios C:\\temp (es con referencia a los sistemas operativos Windows)
Ejemplo:
Java
// Java Program to Illustrate File Uploading // Via Servlets // Importing required classes import java.io.*; import javax.servlet.ServletException; import javax.servlet.http.*; import com.oreilly.servlet.MultipartRequest; // Class // Extending HttpServlet class public class GfgFileUpload extends HttpServlet { // Method // To handle request response mechanism public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); MultipartRequest m = new MultipartRequest(request, "C:\\temp"); out.print("File uploaded successfully"); } }
C. Archivo: web.xml
XML
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>GfgFileUpload</servlet-name> <servlet-class>GfgFileUpload</servlet-class> </servlet> <servlet-mapping> <servlet-name>GfgFileUpload</servlet-name> <url-pattern>/GoGfg</url-pattern> </servlet-mapping> </web-app>
Producción:
Paso 2: después de hacer clic en el botón de carga, el archivo se cargará en la ubicación C:\\temp
Publicación traducida automáticamente
Artículo escrito por sanketnagare y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA