Avatar billede mercutio Nybegynder
29. august 2001 - 16:04 Der er 14 kommentarer og
3 løsninger

Et simpelt eksempel

Hej med jer. Jeg er helt ny med jsp men jeg har kodet en del asp og almindelig java. Jeg vil derfor gerne igang med jsp og servletter. Kan jeg ikke lige få et simpelt eksempel på en jsp side der har en form siden skal så kalde en servlet der går ned i en db som får et resultset og sender indholdet tilbage til jsp siden. Jeg ved ikke helt hvordan det fungerer men det er lige hvad jeg står og skal bruge og hvis jeg får koden at se skal jeg nok selv regne det ud pfh. tak.
Avatar billede kresten Nybegynder
29. august 2001 - 16:05 #1

Prøv sites som http://www.jspinsider.com og brug google, der er tonvis af eksempler derude :)
Avatar billede disky Nybegynder
29. august 2001 - 16:12 #2
gå ind på www.javasoft.com og kig efter JSP tutorials, eller på www.javaworld.com.


Her er min database klasse:

Den bruger du bare til at connecte med, og så har du en klasse med get/set metoder til at udlæse/indlæse fra din form. (pænest)

Men du kan også bare bruge den direkte fra din JSP side, så laver du bare en SQL string, som du fyrer af med doQuery() i min db klasse.


package disky.database;

import java.sql.*;

import disky.database.*;

/**
*
* @author  Søren Reinke
* @version
*/

/*
* Funder lidt over om database forbindelsen kun skal åbnes ved brug, eller x antal altid skal være åben
* og man så bruge den/de som connection pool
*/


public class DbHandler extends Object
{
   
    private Connection con=null;

    /** Creates new DataBase */
    public DbHandler()
    {
    }

    public boolean open(String dbDriverName, String dbClassName, String user, String pass)
    {           
        try
        {
            if(con==null)
            {
                Class.forName(dbDriverName).newInstance();
                con = DriverManager.getConnection(dbClassName, user, pass);
            }
        }
        catch (SQLException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (ClassNotFoundException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (InstantiationException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (IllegalAccessException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        return true;
    }
   
    public void close()
    {
        if(con!=null)
        {
            try
            {
                con.close();
                con=null;
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
    }
   
    public int doUpdate(String sql)
    {
        if(con!=null)
        {
            try
            {
                long time=System.currentTimeMillis();
                Statement stat=con.createStatement();
                System.out.println(\"SQL Update = \"+(System.currentTimeMillis()-time)+\" ms  \"+sql);
                return stat.executeUpdate(sql);       
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
        return 0;
    }

    public ResultSet doQuery(String sql)
    {
        if(con!=null)
        {
            try
            {
                long time=System.currentTimeMillis();
                Statement stat=con.createStatement();
                System.out.println(\"SQL Update = \"+(System.currentTimeMillis()-time)+\" ms  \"+sql);
                return stat.executeQuery(sql);       
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
        return null;
    }
}
Avatar billede mercutio Nybegynder
29. august 2001 - 16:21 #3
Ok måske er mit problem anderledes end jeg selv troede. Jeg har bare fået at vide at jeg skal dele det op i to. Koden skal være i servletter mens jsp skal stå for det grafiske men hvordan fungerer det?
Avatar billede disky Nybegynder
29. august 2001 - 16:25 #4
i jsp siden har du HTML som så laver kald til java beans der laver funktionaliteten.

Men du kan sagtens have ovenstående kode + html i samme fil.

ligesom asp og php folk normalt gør.
Avatar billede mercutio Nybegynder
29. august 2001 - 16:26 #5
Nu skriver du javabeans... men jeg troede bare hvis jeg f.eks. lavede en servlet fil som skulle gå ned i en database og hente noget at jeg så bare kaldte den fra jsp filen med nogle parametre...
Avatar billede kresten Nybegynder
29. august 2001 - 16:27 #6
Disky: Det er noget grisse-fy at blande kode og UI :)
Avatar billede mercutio Nybegynder
29. august 2001 - 16:46 #7
ahaa måske... Så jeg laver en servlet der laver funktionaliteten og en jsp side som ser ganske almindelig html agtig ud bortset fra at jeg får den til at indclude servletten?
Avatar billede kresten Nybegynder
29. august 2001 - 16:47 #8

Du includer bean\'en - men ellers rigtigt.
Avatar billede mercutio Nybegynder
29. august 2001 - 16:51 #9
hvordan får jeg så fat på min servlet?
Avatar billede kresten Nybegynder
29. august 2001 - 17:05 #10
Din servlet vil returnere et response objekt lidt i stil med måden det sker på i ASP.

Du kalder serlvetten direkte i URL\'en, den laver så et eller andet og gemmer dine beans i response objektet og så forwarder den til en JSP side. På JSP siden kan du så enten bruge JSP-tags eller skrive lidt kode som viser indholdet af din bean.
Avatar billede mercutio Nybegynder
29. august 2001 - 17:10 #11
ok Kresten du må virkelig undskylde men er der mulighed for du kan lave et meget meget meget meget simepelt eksempel på det? F.eks. en jsp side der kalder en servlet for at få at vide hvad klokken er eller noget lignende... Jeg forstår heller ikke helt hvad du mener med at den gemmer mine beans....
Avatar billede mercutio Nybegynder
29. august 2001 - 17:33 #12
halløjsa der. Kan man lave en class fil med java og så bare bruge den direkte fra jsp? vha. <jsp:useBean id=\"name\" class=\"package.class\" />
hvor package er navnet på den klasse man gerne vil snakke med?
Avatar billede kresten Nybegynder
29. august 2001 - 19:42 #13
Yes sir, det er rigtigt!

Jeg kan godt forstå du syntes det er lidt besværligt i starten. Jeg er også gammel ASP koder men tro mig når jeg siger omstillingen er det værd.

Det lyder som om du har nogenlunde fat i det, men jeg kan anbefale at læse nogle tutorials / tykke bøger om det.
Avatar billede disky Nybegynder
30. august 2001 - 08:44 #14
kresten: Tro mig det ved jeg godt. Jeg skriver man kan godt, ikke at man skulle :) Men du har 100% ret.

Mercutio:
Forresten kan det ikke rigtigt betale sig at bruge servlets, brug JSP til gui og beans til funktionalitet. en servlet er en smule mere bøvlet at rode med.

En god bog er

Jsp for Professionals fra Wrox.
Avatar billede bodhisatva Nybegynder
30. august 2001 - 11:46 #15
Avatar billede mercutio Nybegynder
30. august 2001 - 12:37 #16
Tak for hjælpen jeg har lavet et nyt spørgsmål så hjælp igen hvis i har lyst =)
Avatar billede disky Nybegynder
30. august 2001 - 12:37 #17
selv tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester