Java - Ing TI

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Ing TI

Publicado por Manuel (6 intervenciones) el 31/10/2018 14:02:35
Alguien sabe como recuperar datos del formulario index.html usando java servlet y una clase de java, estos datos recuperados se tienen que guardar en un archivo.txt y despues poder mostrar los datos del txt en un jsp.

Ayuda por favor lo intente de esta manera y no funciono si recupera lo datos en el system.out.println pero no en el archivo txt.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
    // TODO Auto-generated method stub
    response.getWriter().append("Served at: ").append(request.getContextPath());
 
 
    String nombre = request.getParameter("nombre");
    String edad = request.getParameter("edad");
    String direccion = request.getParameter("direccion");
    String telefono = request.getParameter("telefono");
    String rfc = request.getParameter("rfc");
 
 
 
 
    System.out.println("impresionde desde servlet "+nombre);
    System.out.println("impresionde desde servlet "+edad);
    System.out.println("impresionde desde servlet "+direccion);
    System.out.println("impresionde desde servlet "+telefono);
    System.out.println("impresionde desde servlet "+rfc);
 
 
 
    try
    {
        //Crear un objeto File se encarga de crear o abrir acceso a un archivo que se especifica en su constructor
        File archivo=new File("texto.txt");
 
        //Crear objeto FileWriter que sera el que nos ayude a escribir sobre archivo
        FileWriter escribir=new FileWriter(archivo,true);
        escribir.write(nombre);
        escribir.write(edad);
        escribir.write(direccion);
        escribir.write(telefono);
 
        escribir.close();}
 
    catch(Exception e)
    {
        System.out.println("Error al escribir");
    }
 
 
    RequestDispatcher rd=request.getRequestDispatcher("/Login.jsp");
    rd.forward(request, response);
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ing TI

Publicado por Billy Joel (876 intervenciones) el 31/10/2018 15:57:31
No estoy seguro que realmente quieras pasar un archivo...
Para pasar valores entre Servlet's y JSP's puedes usar la session y pasar esos valores por ahí.
He visto tu código y tu servlet lo rehago así:
1
2
3
4
5
6
7
8
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String[] params = {"nombre", "edad", "direccion", "telefono", "rfc"};
    for (String param : params) {
        request.getSession().setAttribute(param, request.getParameter(param));
    }
    response.sendRedirect("Login.jsp");
}
En negrita te dejo un ejemplo de como guardo valores, variables u objetos en la session.
Para acceder a esos valores de la session dentro del JSP puedes hacer esto
1
2
3
<%
    session.getAttribute("name");
%>

Cualquier duda me avisas
Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Ing TI

Publicado por Manuel (6 intervenciones) el 31/10/2018 17:02:42
Si de esa manera funciona pero El objetivo es guardar los parametros en un txt. y despues consultarlos desde ahi.
Saludos Billy!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ing TI

Publicado por Billy Joel (876 intervenciones) el 31/10/2018 19:16:47
Si de todas formas hay que escribir un archivo txt yo lo haría así
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String[] params = {"nombre", "edad", "direccion", "telefono", "rfc"};
    String p = "";
    for (int i = 0; i < params.length; i++) {
        p += request.getParameter(params[i]) + (i + 1 < params.length ? "|" : "");
    }
    FileWriter archivo = null;
    PrintWriter pw;
    try {
        archivo = new FileWriter("c:/datos.txt", true);
        pw = new PrintWriter(archivo);
        pw.println(p);
        for (int i = 0; i < 10; i++) {
            pw.println("Linea " + i);
        }
    } catch (IOException e) {
        e.printStackTrace(System.out);
    } finally {
        try {
            if (archivo != null) {
                archivo.close();
            }
        } catch (IOException e2) {
            e2.printStackTrace(System.out);
        }
    }
    response.sendRedirect("Login.jsp");
}

Para leer el archivo desde el JSP entonces sería algo así
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<%@page import="java.util.ListIterator"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="java.io.BufferedReader"%>
<%@page import="java.io.FileReader"%>
<%@page import="java.io.File"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
File archivo = null;
    FileReader fr = null;
    BufferedReader br = null;
    String[] params = {"nombre", "edad", "direccion", "telefono", "rfc"};
    List<Map<String, String>> datos = new ArrayList();
    try {
        // Apertura del fichero y creacion de BufferedReader para poder
        // hacer una lectura comoda (disponer del metodo readLine()).
        archivo = new File("C:\\datos.txt");
        fr = new FileReader(archivo);
        br = new BufferedReader(fr);
 
        // Lectura del fichero
        String linea;
        while ((linea = br.readLine()) != null) {
            System.out.println(linea);
            Map<String, String> d = new HashMap();
            String[] r = linea.split("|");
            for (int i = 0; i < params.length; i++) {
                d.put(params[i], r[i]);
            }
            datos.add(d);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        // En el finally cerramos el fichero, para asegurarnos
        // que se cierra tanto si todo va bien como si salta 
        // una excepcion.
        try {
            if (null != fr) {
                fr.close();
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        }
    }
%>

Y para mostrar el contenido dentro de... digamos una tabla:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<table>
    <thead>
        <%for (int i = 0; i < params.length; i++) {%>
    <th><%=params[i]%></th>
        <%}%>
</thead>
<tbody>
    <%
        ListIterator<Map<String, String>> iterator = datos.listIterator();
        while (iterator.hasNext()) {
            Map<String, String> d = iterator.next();
            out.println("<tr>");
            for (int i = 0; i < params.length; i++) {
                out.println("<td>" + d.get(params[i]) + "</td>");
            }
            out.println("</tr>");
        }
    %>
</tbody>
</table>

No me gusta trabajar los JSP así pero bueno hay que pasar los distintos niveles
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar