tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
313
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Zacherias Zacherias ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    30
    Hallo zusammen,
    Ich habe eine aufgabe bekommen, die den Datenaustausch per Downloadlink ermöglichen soll. Ich hab mir hier ein paar punkte rausgeschrieben die wichtig sind. Leider habe ich keine Ahnung wie ich das umsetzen soll. Wäre nett wenn mir jemand tipps zu den einzelnen punkten geben kann

    • Dieser Link darf keinerlei Informationen über die Datei enthalten.
    • Dieser Link soll eine ID enthalten, welche nur für diese Datei gilt und nicht durch einfaches Ändern (Hoch bzw. Runterzählen) der ID zu einer anderen Datei führen.
    • Jede Datei, welche bereitgestellt wird beinhaltet seine eigenen Logging-Informationen
    o Wer/Welcher Rechner hat die Datei zur Verfügung gestellt.
    o Wann wurde die Datei zur Verfügung gestellt.
    o Für welchen Kunden wird die Datei zur Verfügung gestellt.
    o Eventuelle Bemerkungen für die Datei sind zu speichern.
    o Von welchem Rechner und wann wurde die Datei downgeloadet.
    o Die Logging-Informationen für eine Datei sollen online einzeln abrufbar sein.
    • Die Logging-Informationen für alle Dateien sollen auch in einer für das Programm eigenen Logdatei ausgegeben werden.
     

  2. #2
    Avatar von Johannes7146
    Johannes7146 Johannes7146 ist offline Goldschnabel
    Registriert seit
    Sep 2007
    Ort
    Gütersloh
    Beiträge
    733
    Ich würde einfach an den Dateinamen eine Zufallszahl anhängen und daraus einen Hashbilden (MD5 oder was auch immer). Diesen Hash würde ich dann als ID nutzen.

    Dann solltest du in einer Datenbank alle Nötigen Informationen hinterlegen die für dein Berechtigungskonzept nötig sind.

    Ich würde vorschlagen:
    Tabelle 1 (Dateien):
    - ID (der generierte Hashwert)
    - Speicherort der Datei auf dem Server
    - Uploaddatum
    - Id des Users der die Dateihochgeladen hat
    - Bemerkung
    - ggf noch einen künstlichen Schlüssel.

    Tabelle 2 (User).
    - name
    - passwort (ggf auch als hashablegen)
    - ggf noch einen künstlichen Schlüssel

    Tabelle 3 (Berechtigung)
    - ID oder name des Users
    - ID oder künstlichen Schlüssel der Datei

    Tabelle 4 (Downloads)
    - ID oder name des Users
    - id oder schlüssel der Datei
    - Downloaddatum

    Damit solltest du alles abbilden können was für deine Anwendung nätig ist.
     
    Wenn mein Beitrag dir geholfen hat, würde ich mich sehr über eine positive Bewertung oder ein Danke freuen
    Gruß Johannes
    ::: Homepage :::

  3. #3
    Zacherias Zacherias ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    30
    Danke für die gute antwort aber ich soll das nicht in einer Datenbank machen.
     

  4. #4
    Avatar von Johannes7146
    Johannes7146 Johannes7146 ist offline Goldschnabel
    Registriert seit
    Sep 2007
    Ort
    Gütersloh
    Beiträge
    733
    Du kannst die Informationen natürlich auch in Java Objekten halten.
    Erstelle für jede Tabelle eine eigene Klasse.
    Anstelle der Schlüssel dann natürlich direkt das Objekt und nicht den String als schlüssel halten.

    Dabei hast du dann aber allerdings das Problem, dass beim Beenden der Software alle Daten verloren gehen. Wenn das verhindert werden soll, könntet du die Objekte welche dei Daten halten serialisieren und so auf der Festplatte abelegen.

    Eine weitere andere Möglichkeit wäre sonst die Daten in eine CSV-Datei zu schreiben und so Filebasiert die Daten zu halten.
     
    Wenn mein Beitrag dir geholfen hat, würde ich mich sehr über eine positive Bewertung oder ein Danke freuen
    Gruß Johannes
    ::: Homepage :::

  5. #5
    Zacherias Zacherias ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    30
    Ok danke ich werde das dann mit einer CSV datei machen.

    Ich würde einfach an den Dateinamen eine Zufallszahl anhängen und daraus einen Hashbilden (MD5 oder was auch immer). Diesen Hash würde ich dann als ID nutzen.
    Kansnt du mir vlt mal ein beispiel geben wie das mit dem hash funktioniert. Hab noch net so viel Ahnung
     

  6. #6
    Avatar von Johannes7146
    Johannes7146 Johannes7146 ist offline Goldschnabel
    Registriert seit
    Sep 2007
    Ort
    Gütersloh
    Beiträge
    733
    Hier mal ein kleines Beispiel:
    Code java:
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    
    package test;
     
    import java.security.MessageDigest;
    import java.util.Random;
     
    /**
     * 
     * @author Kleeschulte
     * @since 01.03.2010
     */
    public class Hash {
        public static void main(String[] args) {
     
            // Instanz der eigenen Klasse anlegen
            Hash test = new Hash();
     
            // Den Parameter Dateiname solltest du später dann mit dem
            // entsprechenden Namen füllen
            String dateiname = "Dateiname der Datei";
     
            // Die Klasse Radom liefer der die Zufallszahlen
            Random random = new Random();
            int zufallsZahl = random.nextInt(Integer.MAX_VALUE);
     
            // Erstellen des Hashwertes
            String hash = test.erzeugeHash(dateiname + zufallsZahl);
     
            // Ausgabe
            System.out.println("Dateiname: " + dateiname);
            System.out.println("Zufallszahl: " + zufallsZahl);
            System.out.println("Hash: " + hash);
     
        }
     
        /**
         * Diese Methode generiert einen MD5-Hash des übergeben Strings
         * @param eingabe
         *            Original String von dem der Hashwert gebildet werden soll
         * @return Hashwert des Übergeben Strings
         */
        public String erzeugeHash(String eingabe) {
            try {
                MessageDigest md = MessageDigest.getInstance("MD5");
                md.reset();
                md.update(eingabe.getBytes());
                byte[] result = md.digest();
                StringBuffer hexString = new StringBuffer();
                for (int i = 0; i < result.length; i++) {
                    hexString.append(Integer.toHexString(0xFF & result[i]));
                }
                return hexString.toString();
            } catch (Exception e) {
                System.out.println("Fehler bei Hashgenerierung");
                e.printStackTrace();
            }
     
            return null;
        }
    }
    Geändert von Johannes7146 (01.03.10 um 14:46 Uhr)
     
    Wenn mein Beitrag dir geholfen hat, würde ich mich sehr über eine positive Bewertung oder ein Danke freuen
    Gruß Johannes
    ::: Homepage :::

  7. #7
    Zacherias Zacherias ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    30
    Danke für deine Hilfe werd jetzt einfach mal ein bissel rumprobieren
     

  8. #8
    Avatar von Johannes7146
    Johannes7146 Johannes7146 ist offline Goldschnabel
    Registriert seit
    Sep 2007
    Ort
    Gütersloh
    Beiträge
    733
    Kein Thema.
    LG
     
    Wenn mein Beitrag dir geholfen hat, würde ich mich sehr über eine positive Bewertung oder ein Danke freuen
    Gruß Johannes
    ::: Homepage :::

Ähnliche Themen

  1. JSF Applikation innerhalb einer JSF Applikation
    Von Chefkoch333 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 12.10.07, 13:21
  2. xml zum Datenaustausch
    Von buschke im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 13.06.07, 18:16
  3. Datenaustausch zu Microsoft CRM?
    Von heiko263 im Forum .NET Café
    Antworten: 3
    Letzter Beitrag: 01.09.05, 13:20
  4. JavaScript - PHP - Datenaustausch
    Von dennisnowack im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 03.08.05, 10:13
  5. JSP - Java prg datenaustausch
    Von kjk im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 25.02.05, 18:22