Para la registración de datos en el servidor disponemos de dos herramientas que se complementan en muchos casos los archivos de texto y bases de datos. En este apartado veremos como crear un archivo de texto y añadir datos al mismo haciendo las páginas en JSP y clase en Java
Para la registración de datos en el servidor disponemos de dos herramientas que se complementan en muchos casos los archivos de texto y bases de datos. En este apartado veremos como crear un archivo de texto y añadir datos al mismo haciendo las páginas en JSP y clase en Java
Primero de todo explicaré un poco como podemos hacer esto en JSP y JAVA para poder entender luego el demo que le deje al final. Este demo es un modelo de un creador de archivo .txt y en el se guarda la información que ingresamos en el formulario que desarrollamos. Básicamente el que realiza la creación del archivo y la carga del contenido es la clase notePad.java Las páginas JSP solamente sirven para el envio del formulario y la creación de un objeto nuevo para asi crear un archivo .txt
Esta es la clase notePad.java el cual crea y carga el archivo .txt y devuelve un mensaje
package clases;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
/**
*
* @author Jonas
*/
public class notePad {
String nombre;
String contenido;
String ubicacion;
//Construcytor de la clase
public notePad(String nombre, String contenido) {
this.nombre=nombre;
this.contenido=contenido;
this.ubicacion="C:/Proyecto-block-de-notas/web/bloc-de-notas/";
}
public String CargaDatos() throws IOException {
// VERIFICA SI EL NOMBRE DEL ARCHIVO Y EL CONTENIDO NO ESTAN VACIOS
if(validarDatos()==true){
//CREA EL ARCHIVO ESPECIFICADO EN EL LA RUTA Y EL NOMBRE EN EL FORMULARIO
this.ubicacion+=this.nombre+".txt";
BufferedWriter linea = new BufferedWriter(new FileWriter(this.ubicacion));
//Scanner datos = new Scanner (System.in);
// GUARDA LA INFORMACION EN EL ARCHIVO .TXT QUE SE A CARGADO EN EL FORMULARIO
linea.write(this.contenido);
//datos.next();
// CIERRA EL ARCHIVO CREADO
linea.close();
return "<p class='exito'>Se a creado y guardado el archivo " + this.nombre +".txt con exito</p>";
}else
{
return "<p class='error'>Campos vacios no se pudo realizar la carga</p>";
}
}
private boolean validarDatos(){
if (this.nombre.isEmpty() || this.contenido.isEmpty()) {
return false;
}else
{return true; }
}
}
Como se dieron cuenta el atributo ubicacion posee una dirección fija ustedes le pueden cambiar si cambian en otro lugar el proyecto. Primero se posee un constructor donde pide un nombre y un contenido lo que debe tener todo archivo, luego con su método cargarDatos() es el que crea el archivo y guarda el contenido. Con la clase BufferedWriter escaneo la ubicación y genero un nuevo archivo con la clase FileWriter pasandole como atributo la ubicacion que al final de su cadena de texto se encuentra reescrita por el nombre del archivo. Luego crea un objeto llamado "linea" que escribe con un metodo que poseé write() el contenido y finalmente cierro el objeto y retorno el mensaje de exito. Esto sucede si el método validarDatos() me retorna un true ya que verifica si el atributo nombre y contenido estan con algun valor.
Veamos ahora el formulario que envia los datos es la página index.jsp
<!DOCTYPE html>
<html lang="ES">
<head>
<meta charset="UTF-8"/>
<meta name="description" content="PHP"/>
<meta name="author" content="compartiendocodigos"/>
<title>Crear y guardar bloc de notas</title>
</head>
<body>
<form action="CargarBloc.jsp" method="POST">
<label>Nombre del archivo:</label>
<input type="text" name="nombreArchivo" value="" >.txt
<label>Información:</label>
<textarea name="informacion" ></textarea>
<input class="boton" type="submit" value="Guardar" />
</form>
</body>
</html>
Este fomulario se dirige a cargarBloc.jsp donde recepta los parámetros. Veamos que hace...
cargarBloc.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.*" %>
<%@page import="java.io.BufferedWriter" %>
<%@page import="java.io.FileWriter" %>
<%@page import="java.io.IOException" %>
<%@page import="java.util.Scanner" %>
<%@page import="clases.notePad" %>
<%
String nombreArchivo;
String informacion;
nombreArchivo= (String) request.getParameter("nombreArchivo");
informacion= (String) request.getParameter("informacion");
notePad blocNotas;
blocNotas= new notePad(nombreArchivo, informacion);
// LOEGO DE CREAR EL OBJETO PONE EN FUNCION SU METODO DE CARGA EN EL DIRECTORIO ESPECIFICADO
out.print(blocNotas.CargaDatos());
%>
No hay comentarios:
Publicar un comentario