2 Stimmen

Wie generiere ich eine Sequenz von eindeutigen IDs in jsp, beginnend mit 1000

Ich möchte Code in jsp, um eine eindeutige ID ab 1000 zu generieren. Welchen Datentyp kann ich dafür verwenden, und wie man darüber gehen. Kann jemand bitte giude me......

3voto

Ken Chan Punkte 75086

Wenn Sie eine zufällige ganze Zahl innerhalb eines bestimmten Bereichs erzeugen wollen, können Sie die folgenden Schnipsel verwenden:

public int generateRandomNumber(int start, int end ){
    Random random = new Random();
    long fraction = (long) ((end - start + 1 ) * random.nextDouble());
    return ((int)(fraction + start));
}

Um zum Beispiel eine zufällige ganze Zahl zwischen 1000 und 8888 zu erhalten, können Sie generateRandomNumber(1000, 8888);

Wenn Sie den gesamten Java-Code in einer JSP schreiben wollen (was ich allerdings nicht vorschlage), können Sie eine JSP-Seite wie diese erstellen und nach jeder Aktualisierung eine zufällige Ganzzahl erhalten.

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.Random"%>
<%!
    public int generateRandomNumber(int start, int end ){
        Random random = new Random();
        long fraction = (long) ((end - start + 1 ) * random.nextDouble());
        return ((int)(fraction + start));
    }
%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>TEST RANDOM NUMBER</title>
    </head>
    <body>
         <h1>Generate Random Number:<%=generateRandomNumber(1000,8888)%></h1>
    </body>
    </html>

2voto

jmj Punkte 232204

Sie können verwenden java.util.Random , Verwendung nextInt() Methode und fügen Sie einfach 1000 zu, wenn Sie wollen, dass es von 1000 können Sie einfach das erste Nein als 1000

Siehe auch

2voto

DaveH Punkte 7013

In all diesen Antworten geht es um Zufallszahlen - der OP fragt nach eindeutigen Zahlen. Bei der Verwendung von Zufallszahlen gibt es immer noch die Möglichkeit von Duplikaten (auch wenn diese Chance zugegebenermaßen gering ist).

Eine einfache Möglichkeit, eine eindeutige Nummer zu erhalten, wäre eine Klasse mit einer statischen synchronisierten Methode, die einen statisch deklarierten Zähler erhöht und diesen zurückgibt. Setzen Sie den Zähler so, dass er bei 1000 beginnt.

Ich würde dies in einer Java-Klasse und nicht in JSP implementieren. Wie Jogar bereits erwähnt hat, kann die Implementierung von Roh-Java in einer JSP schnell aus dem Ruder laufen.

Wenn Ihre Anwendung am Ende auf mehr als einer JVM läuft (z. B. in einem Anwendungsserver-Cluster) und die Nummer für den gesamten Cluster eindeutig sein muss, funktioniert diese Lösung nicht. In diesem Fall müssen Sie einen externen Zähler verwenden, z. B. die oben erwähnte datenbankbasierte Lösung.

0voto

Vivek Goel Punkte 21024

Sie können die AUT_INCREMENT-Funktion von db. mysql db verwenden, um eine eindeutige ID zu erzeugen.

   create table `TableName`( 
   `v` int UNSIGNED NOT NULL AUTO_INCREMENT , 
   PRIMARY KEY (`v`)
 )  Engine='Default' auto_increment=1000 comment='' row_format=Default

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X