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

Web Application

Last post 10-28-2008, 10:10 AM by abulaq. 8 replies.
Sort Posts: Previous Next
  •  08-16-2008, 03:06 PM 50660

    Web Application

    Ciao ragazzi. Mi sono avvicinato da poco alle basi di dati ad oggetti e vorrei realizzare una piccola applicazione web. C'è un esempio di una mini-applicazione web che utilizza db4o? Come vengono gestite le richieste dai vari client? Come funziona il server?

     

    Grazie mille.

  •  08-18-2008, 09:04 AM 50672 in reply to 50660

    Re: Web Application

    Ciao e benvenuto!

    db4o è forse la più grande comunità di sviluppatori di basi di dati ad oggetti del mondo (ti può essere utile).

    Si c'è un esempio su come utilizzare db4o in una applicazione web (Java e .NET):

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

    Bye.


    German Viscuso » db4objects
    W: +1 (650) 515-3615
    F: +1 (650) 240-0421
    M: +1 (650) 863-5474
  •  08-24-2008, 02:22 PM 50739 in reply to 50672

    Re: Web Application

    Grazie mille German. Questo file mi è stato molto utile, ma ho un dubbio.

    In Db4oUtil.java c'è la funzione getDbDirectory(). Ho modificato la riga

    String dbfile = System.getProperty("user.home") + "/db4o/data";

    in

    String dbfile = System.getProperty("user.dir") + "\\web\\db\\";

    e poi ho modificato

    private static final String FILENAME = "db_azosp.yap";

    Supponiamo che la directory non esista, quindi la deve creare. Il problema è che non la crea, e, quindi, neanche accede al file db. Qualche aiuto?

    Vorrei che il file mi venisse creato in:

    C:\Documents and Settings\Fabio\Documenti\NetBeansProjects\AziendaOspedaliera\web\db\db_azosp.yap

  •  08-24-2008, 02:38 PM 50741 in reply to 50739

    Re: Web Application

    tanto per essere più preciso... io ho una pagina HTML con un form...

    <form action="LoginPaziente" method="post">
                    Codice fiscale: <input type="text" name="userpaziente" value="" maxlength="16" /><br />
                    Password: <input type="password" name="passpaziente" value="" maxlength="8" /><br />
                    <input type="submit" value="Login" />
    </form>

    LoginPaziente è un servlet, LoginPaziente.java:

    package mypackage.azosp.servlet;

    import java.io.*;
    import java.net.*;

    import javax.servlet.*;
    import javax.servlet.http.*;

    import com.db4o.ObjectContainer;
    import com.db4o.ObjectSet;
    import com.db4o.query.Predicate;

    import mypackage.azosp.entity.Paziente;
    import mypackage.azosp.servlet.data.Db4oUtil;

    public class LoginPaziente extends HttpServlet {

        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doPost(request, response);
        }

        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {

            final String user = request.getParameter("userpaziente");
            final String pwd = request.getParameter("passpaziente");
            ObjectContainer db = null;
            try {
                db = Db4oUtil.getObjectContainer();            

                ObjectSet result = db.query(new Predicate() {
                    public boolean match(Paziente candidate) {
                        return candidate.getCod_fisc().equalsIgnoreCase(user) && candidate.getPassword().equalsIgnoreCase(pwd);
                    }
                });
                if (result.size() == 1) {
                    request.setAttribute("paziente", result);
                    request.getRequestDispatcher("/areapazienti/areapazienti.jsp").forward(request, response);
                } else {
                    request.getRequestDispatcher("errorelogin.jsp").forward(request, response);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                Db4oUtil.shutdown();
            }
        }
    }

    c'è qualcosa che non va?

  •  08-25-2008, 12:42 PM 50754 in reply to 50739

    Re: Web Application

    deepswing:

    Supponiamo che la directory non esista, quindi la deve creare. Il problema è che non la crea, e, quindi, neanche accede al file db. Qualche aiuto?

    Vorrei che il file mi venisse creato in:

    C:\Documents and Settings\Fabio\Documenti\NetBeansProjects\AziendaOspedaliera\web\db\db_azosp.yap

    Allow me to answer in English (it's better than my Italian). (You can still write in Italian though, no problem).

    The directory won't be created by db4o, only the database file will be created if it doesn't exist so you'll have to create to subdirectories yourself (C:\Documents and Settings\Fabio\Documenti\NetBeansProjects\AziendaOspedaliera\web\db\).

    Best!


    German Viscuso » db4objects
    W: +1 (650) 515-3615
    F: +1 (650) 240-0421
    M: +1 (650) 863-5474
  •  08-25-2008, 12:45 PM 50755 in reply to 50741

    Re: Web Application

    deepswing:

    tanto per essere più preciso... io ho una pagina HTML con un form...

    ...

    c'è qualcosa che non va?

    This form is not working as expected? It won't get the user?

    Best.


    German Viscuso » db4objects
    W: +1 (650) 515-3615
    F: +1 (650) 240-0421
    M: +1 (650) 863-5474
  •  09-13-2008, 10:29 PM 51058 in reply to 50755

    Re: Web Application

    ho un piccolo problema... io utilizzo tomcat per la web application.

    in Db4oUtil.java la riga

     

    String dbfile = System.getProperty("user.dir") + "/db/";

     mi restituisce /usr/local/tomcat/db/

    ma io desidero che la directory db venga creata sotto WEB-INF... come faccio?

    grazie mille

  •  10-28-2008, 09:55 AM 51756 in reply to 51058

    Re: Web Application

    Ciao,

    anche io utilizzo tomcat  e solitamente scrivo in una directory relativa al contesto della web application, nel tuo caso puoi utilizzare

    String realPath = this.getServletContext().getRealPath("/WEB-INF");

     

    Angelo

  •  10-28-2008, 10:10 AM 51757 in reply to 51756

    Re: Web Application

    Scusami, rileggendo i post precedenti, tu vuoi che il file venga creato sotto:

    ...NetBeansProjects\AziendaOspedaliera\web\db\db_azosp.yap

     quindi puoi passare semplicemente come RealPath:

    /db

     

    Angelo

View as RSS news feed in XML