db4o Developer Community

db4o open source object database, native to Java and .NET
Welcome to db4o Developer Community Sign in | Join
in Search
More Search Options

accediendo a db4o desde jsp

Last post 07-23-2008, 04:24 AM by carlosdd. 6 replies.
Sort Posts: Previous Next
  •  07-13-2008, 12:51 AM 50102

    accediendo a db4o desde jsp

    Hola hice de ejemplo un programita que guardaba unos datos en una BD y luego intente leer esos datos desde una pagina JSP pero no pude, aqui esta el ejemplo:
    <%@ page language="java" %>
    <%@ page import="com.db4o.Db4o" %>
    <%@ page import="com.db4o.ObjectContainer" %>
    <%@ page import="classes.enlaces" %>
    <html><head><title>JSP</title></head><body>
            <table border="1">
                <tr><td>id</td><td>nombre</td></tr>
                <%
                    ObjectContainer db = Db4o.openFile("WEB-INF/data/ejemplo.yap");
                    try {   
                        ObjectSet result = db.get(enlaces.class);
                        out.println("<tr>");
                        out.println("<td>" + result.size() + "</td>");                   
                        out.println("</tr>");
                    }
                    finally {
                        db.close();
                    }
                %>
            </table>
        </body>
    </html>

    antes que nada solo trato de que indique la cantidad de objetos que estan almacenados y pues si eso funcionaba creo que podia desplegar todos los objetos. 

    package classes;
    public class enlaces {
        private String nombre;
        private String direccion;    
        public enlaces(String nombre,String direccion) {
            this.nombre = nombre; this.direccion = direccion;
        }
        public String getNombre() {
            return nombre;
        }    
        public String getDireccion() {
            return direccion;
        }    
        public String toString() {
            return nombre + "/" + direccion;
        }
    }

     

    Gracias..
     

  •  07-14-2008, 12:57 AM 50108 in reply to 50102

    Re: accediendo a db4o desde jsp

    Hola!

    Porque no te fijas en los "Starter Kits" para aplicaciones web con db4o? Hay un par de ejemplos para Java.

    http://developer.db4o.com/ProjectSpaces/view.aspx/Starter_Kits

    Saludos.


    German Viscuso » db4objects
    W: +1 (650) 515-3615
    F: +1 (650) 240-0421
    M: +1 (650) 863-5474
  •  07-19-2008, 04:16 AM 50219 in reply to 50108

    Re: accediendo a db4o desde jsp

    Hola revise los ejemplos los ejemplos y creo que estas funciones las puedo omitir:

    public static ObjectServer getObjectServerForFilename(String yapfilename, int port) {
            File parentDir = getDbDirectory();
            File dbfile = new File(parentDir, yapfilename);
            // now open server
            ObjectServer objectServer = Db4o.openServer(dbfile.getPath(), port);
            return objectServer; }

        private static File getDbDirectory() {
            // will store data files in {user.home}/db4o/data directory
            String dbfile = System.getProperty("user.home") + "/db4o/data";
            File f = new File(dbfile);
            if (!f.exists()) { f.mkdirs(); }
            return f; }

    y en el siguiente método queda asi:

    public synchronized static ObjectServer getObjectServer() {
            if (objectServer == null) {
                objectServer =  Db4o.openServer("ruta\archivo.yap", port);
                //and give access
                //objectServer.grantAccess(USER, PASSWORD);
            }
            return objectServer; }

     ¿estoy en lo correcto?

    ¿En cuanto al puerto solamente con que sea mayor a 0 para trabajar en Internet?

  •  07-19-2008, 04:18 AM 50220 in reply to 50219

    Re: accediendo a db4o desde jsp

    es el ejemplo de Db4oSiteCS.War
  •  07-21-2008, 06:47 AM 50241 in reply to 50219

    Re: accediendo a db4o desde jsp

    carlosdd:

    ¿En cuanto al puerto solamente con que sea mayor a 0 para trabajar en Internet?

    You siempre utilizo el puerto 0xDB40  ;-)


    German Viscuso » db4objects
    W: +1 (650) 515-3615
    F: +1 (650) 240-0421
    M: +1 (650) 863-5474
  •  07-23-2008, 04:21 AM 50273 in reply to 50241

    Re: accediendo a db4o desde jsp

    Hola, gracias por los comentarios.

    Estoy intentando hacer un inicio de sesion y  en un servlet hago lo siguiente:

    protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
    {
            String usuario, pass;
            ObjectServer server = Db4o.openServer("ejemplo.yap", 0xDB40);
            ObjectContainer db = server.openClient();
             //Con esto trato que buscar el usuario y verifica que la contraseña sea la correcta, pero no me muestra nada.
            Query query = db.query();
            query.constrain(Enlaces.class);
            Constraint constr=query.descend("nombre").constrain(req.getParameter("us"));
            query.descend("direccion").constrain(req.getParameter("pass")).and(constr);
            ObjectSet result=query.execute();

            while(result.hasNext()) {
           Cliente us = (Cliente)result.next();

                  usuario=us.getUsuario();
                  pass=us.getContrasena();
              }

             /*Si existe el usuario y el password entonces enviarlo a una pagina determinada*/

    ¿Hay algun metodo del ObjectSet o el Query doonde me regrese un valor indicando que exite lo que solicite, por ejemplo "true"?

    Una cossa mas lo de grantAccess de ObjectServer ¿Comó funciona?

  •  07-23-2008, 04:24 AM 50274 in reply to 50273

    Re: accediendo a db4o desde jsp

    en query.constrain me equivo y puse Enlaces en lugar de Clientes, pero eso me paso a la hora de escribir el post
View as RSS news feed in XML