Zum Inhalt springen

Sia

Mitglieder
  • Gesamte Inhalte

    125
  • Benutzer seit

  • Letzter Besuch

Beiträge von Sia

  1. Moin moin,

    bin grad mal wieder n bisl verwirrt.

    Hab mir auf nem kleinen alten Rechner Debian eingerichtet und Tomcat draufgepackt.

    Dann ein paar JSP-Seiten geschrieben, da passiert nix großes aber sie laufen.

    Da die Linux-Kiste äußerst lahm ist, hab ich mir gedacht, ich versuch mal JWSDP auf meinem schnellen Win-Rechner.

    Hat soweit auch geklappt das einzurichten und ich kann mir die Startseite angucken.

    Jetzt fix das Projekt rübergeschoben - nichts daran geändert - und es läuft nicht mehr.

    Ich bekomm aufm local Horst immer folgende Fehlermeldung:

    HTTP Status 500 -

    --------------------------------------------------------------------------------

    type Exception report

    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    javax.servlet.ServletException

    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)

    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

    root cause

    java.lang.NoClassDefFoundError

    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:286)

    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)

    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

    note The full stack trace of the root cause is available in the Tomcat logs.

    --------------------------------------------------------------------------------

    Java Web Services Developer Pack/1.3

    Die beiden Tomcats benutzen das gleiche JDK. Der Unterschied liegt nur im Tomcat an sich, da der im JWSDP ja nur ne abgespeckte Version ist, wenn ich das richtig verstanden hab.

    Hoffe, ihr versteht mich und könnt mir irgendwie nen Tipp geben.

    Sia

  2. Hallo,

    hab ein Problem, wo mir vielleicht die älteren von euch helfen können;-)

    Wir wollen einige Geräte per batch-Datei anpingen, und das immer wieder.

    Also nach 20sec und dann wieder alle.

    1. Weiß ich nicht, wie man die Wartezeit festlegt und

    2. warum von den 10 IPs immer nur die erste in einer Endlosschleife angepingt wird.

    Das ganze läuft übrigens unter XP, aber sollte doch trotzdem funzen oder?!

    Schönen Dank,

    Sia

  3. So hatte ich es gemacht und an der Stelle kam auch die Exception.

    Danach hab ich noch verschiedene Varianten damit probiert, aber es schlug alles fehl.

    Der Vector war meine Rettung, mein Leben hat wieder einen Sinn*g*

    Ach ja, an deinem Vorschlag hab ich eine minimale Veränderung vorgenommen, ich sags nur, falls jemand anderes verwirrt ist:

    Da, wo der LKW am Ende aus dem Vector ausgelesen wird, ist noch ein Cast nötig

    //(LKW)

  4. Hi ho,

    irgendwie find ich einfach keine Lösung.

    Folgendes Problem:

    Ich hab einen Hashtable names lkws.

    Daraus möchte ich einen zufälligen LKW auswählen.

    Zu diesem Zweck bestimme ich eine Zufallszahl zwischen 0 und der Größe des Hashtables.

    Eigentlich hatte ich dann vor, über einen Index an den jeweiligen LKW zu gelangen. Da der Hashtable dafür keine Funktion vorsieht, hab ich versucht, die LKWs in ein Set zu schreiben und das als Array auszugeben, worauf ich dann ja per Index zugreifen könnte. Aber es kommt immer eine ClassCastException.

    Auch mit einer Collection hab ich es versucht, aber der gleiche Fehler.

    Für jede Hilfe dankbar:-)

    Sia

  5. Beispiele sind sowieso immer viel besser:)

    Jetzt, wo ich es so sehe, wirds mir natürlich klar. Aber darauf muss man erst mal kommen, in der Klasse eine Instanz von sich selbst zu erzeugen.

    Vielen Dank und bis zum nächsten Thread;)

  6. Hallo Java-Profis,

    ich würde gerne "this" in der Main-Funktion verwenden.

    Leider geht das ja nicht, weil main() static ist.

    Das Ziel ist dieses:

    In der Klasse Server liegen drei Hashtables, die mit add und get bearbeitet werden können.

    Es werden vom Server einige Threads mit dem Namen RequestHandler erzeugt.

    Die Requesthandler sollen auf die Hashtables zugreifen können. Dazu benötigen sie aber die Server-Instanz. Diese wollte ich den Handlern mit HIlfe von "this" übergeben, entwerder über den RequestHandler-Konstruktor oder mit irgeneiner Funktion. Das ist unwichtig.

    Aber wie mache ich das aus der Main-Funktion heraus? Oder kann ich vielleicht innerhalb der Threads erfahren, wer sie erzeugt hat und hätte so meine Server-Instanz?

    Danke für eure schnelle Hilfe,

    Sia

  7. Hallo,

    hat jemand von euch Ahnung von Ozone-Datenbanken?

    Ich habe meine im Moment lokal laufen, also als LocalDatabase.

    Jetzt wollte ich diese Proxy-Klassen von meinen Implementationen erzeugen und der opp-Befehl wird nicht gefunden.

    Ich wechsel dazu in mein Klassenverzeichnis und schreibe z.B.

    opp veroeffentlichungen.Ort

    Erst dachte ich, dass es am classpath liegt und habe das Klassenverzeichnis dem Classpath zugefügt. Die ozone.jar liegt schon darin.

    Vermutlich hab ich wieder mal was ganz einfaches übersehen, aber ich komm einfach nicht drauf. Bin für jede Hilfe dankbar:-)

    Sia

  8. Hallo!

    Diese Meldung bekomme ich im Browser, wenn ich mir eine Tabelle ausgeben lassen will:

    javax.servlet.ServletException: Driver class 'org.postgresql.Driver' not found

    Dabei benutze ich das Taglib dbtags von Jakarta. Ich hab den Taglib-Eintrag im JSP-File, den Eintrag im web.xml und die .tld- und .jar-Files in den richtigen Verzeichnissen.

    Versuche, in denen ich z.B. die Uhrzeit mit Datetime ausgegeben habe, waren fehlerfrei. Daher nehme ich an, dass ich soweit alles richtig gemacht hab.

    Der Treiber muss auch korrekt sein, weil ich damit schon öfters auf die DB zugegriffen hab.

    Hat jemand eine spontane Idee?

    Danke schon mal,

    Sia

  9. Hallo,

    folgendes Makro hab ich geschrieben:


    Sub Worksheet_Change(ByVal Target As Range)
    'Sub test()
    Dim rng As Range
    Dim row As Integer
    Dim col As Integer

    'Zeile und Spalte ermitteln
    row = Selection.row
    If Selection.Column = 1 Then col = 5
    If Selection.Column = 2 Then col = 4
    If Selection.Column = 3 Then col = 3
    If Selection.Column = 4 Then col = 2
    If Selection.Column = 5 Then col = 1

    Application.ScreenUpdating = False
    For Each rng In Selection
    'Formel in F eintragen
    rng.Offset(0, col).Value = "=(B" & row & "-C" & row & ")/E" & row
    Next rng
    End Sub
    [/PHP]

    Als ich noch den zweiten Header verwendet hab und das Makro per Tastenkombi aufrief, da hat es funktioniert.

    Aber jetzt soll es ausgeführt werden, wenn ich etwas in die Zellen A2:En eingebe.

    Leider reagiert das Makro dann aber gar nicht, obwohl doch mein jetztiger Header dafür sorgen sollte.

    Wie kommt das?

    Für jede Hilfe dankbar,

    Sia

  10. Hallo mal wieder..

    hab da ein kleines Makro für Excel geschrieben. Es funktioniert auch, wenn ich es über eine Tastenkombi aufrufe.

    Aber wenn ich die Kopfzeile so umänder, dass es bei einer Veränderung in der Tabelle aufgerufen wird, passiert einfach nichts.

    Vorher:

    Sub sort()

    ...

    Nacher:

    Sub Worksheet_Change(ByVal Target As Range)

    ...

    *roar*

    Danke

    :D

  11. Hallo...

    Wenn ich eine bestimmte Zelle, z.B. F2, berechnen möchte, dann reicht es ja, wenn ich z.B. (B2-C2)/E2 in die Zelle F2 eingebe. Das Ergebnis wird automatisch generiert.

    Mein Problem ist folgendes: Ich möchte das nicht nur für F2 machen sondern für alle F's. Aber ich möchte nicht in jede Zelle diese Formel eingeben und anpassen. Das muss doch auch einfacher gehen, oder?

    Danke im Vorraus!

    Sia

  12. Jo, EnsignKim*gg*

    Du hast wieder die besten Einfälle.

    Aber weiß Du auch, wie ich meine Depression beenden kann, die alle drei Wochen wieder ausbricht.. wenn wir Schule haben?

    Ich glaub, da hilft nur mein eigener Suizid, den ich am besten auf der Damentoilette verüben werde.. Dann gingen mehr rein als raus*lol*

    1

    2

    3

    4

    5

    hey, wo ist die eine geblieben?

    6

    ... Man sieht sich*gg*

  13. Oh man, jetzt wirds echt kompliziert.

    Eigentlich will nur mein Client nicht starten, sonst ist alles in Ordnung.

    Ich beschrieb mal, was ich gemacht habe:

    (unter W2K)

    Mein Remote-Interface *RemoteServer*


    package rmitest;

    import java.rmi.*;

    public interface RemoteServer extends Remote {

    // Definition der Methoden, die dem Client zur Verfügung gestellt werden sollen
    public int getTest1()
    throws RemoteException;

    public int getTest2(int newB)
    throws RemoteException;

    public void setTest1(int newA)
    throws RemoteException;

    }
    [/PHP]

    Meine Implementation davon:

    [PHP]
    package rmitest;

    import java.rmi.*;
    import java.rmi.server.*;
    import java.net.*;
    import java.rmi.activation.*;

    public class Server extends Activatable implements RemoteServer {

    //Klassen-Variable
    int a = 0;
    int b = 0;

    //Constructor
    /*public Server() throws RemoteException {
    super();
    }*/
    public Server(ActivationID id, MarshalledObject data) throws RemoteException {
    super(id, 0);
    }

    //Implementation der Methoden, die dem Client zur Verfügung gestellt werden sollen
    public int getTest1() {
    print(getClientName() + ": getTest1 - return a = " + a);
    return a;
    }

    public int getTest2(int newB) {
    b = newB;
    print(getClientName() + ": getTest2(" + newB + ") - return 6/b = " + 6/b);
    return 6/b;
    }

    public void setTest1(int newA) {
    print(getClientName() + ": setTest1(" + newA + ")");
    a = newA;
    }

    private void print(String toPrint) {
    System.out.println(toPrint);
    }

    //Klassen-interne Methoden
    private String getClientName() {
    String clientName = "Unknown Client-IP";
    try {
    clientName = java.rmi.server.RemoteServer.getClientHost();
    clientName = InetAddress.getByName(clientName).getHostName();
    }
    catch(java.rmi.server.ServerNotActiveException se) {
    System.err.println(se);
    }
    catch(java.net.UnknownHostException se) {
    System.err.println(se);
    }
    return clientName;
    }
    }

    Die Setup-Klasse:


    package rmitest;

    import java.rmi.*;
    import java.rmi.activation.*;
    import java.util.Properties;

    public class Setup {

    public static void main(String[] args) throws Exception {

    System.setSecurityManager(new RMISecurityManager());

    Properties props = new Properties();
    props.put("java.security.policy", "rmitest/java.policy");

    ActivationGroupDesc.CommandEnvironment ace = null;
    ActivationGroupDesc testGroup = new ActivationGroupDesc(props, ace);

    ActivationGroupID agi = ActivationGroup.getSystem().registerGroup(testGroup);

    String location = "file:./";

    MarshalledObject data = null;

    ActivationDesc desc = new ActivationDesc (agi, "rmitest.Server", location, data, true);

    RemoteServer mri = (RemoteServer)Activatable.register(desc);
    System.out.println("Got the stub for the Server");

    Naming.rebind("Test", mri);
    System.out.println("Exported Server");

    System.exit(0);
    }

    }
    [/PHP]

    Und der Client:

    [PHP]
    package rmitest;

    import java.rmi.*;

    public class Client {

    private static RemoteServer server;

    //Implementation der Methoden
    public static int getTest1() {
    int a = 0;
    try {
    a = server.getTest1();
    }
    catch(Exception ex) {
    System.err.println(ex);
    }

    return a;
    }

    public static int getTest2(int newB) {
    int b = 0;
    try {
    b = server.getTest2(newB);
    }
    catch(Exception ex) {
    System.err.println(ex);
    }

    return b;
    }

    public static void setTest1(int newA) {
    try {
    server.setTest1(newA);
    }
    catch(Exception ex) {
    System.err.println(ex);
    }

    }

    private static void testMethode() {
    try {
    int a = 4;
    //Anfragen an Server
    setTest1(a);
    System.out.println("1)getTest1(): " + getTest1());
    System.out.println("1)getTest2(2): " + getTest2(2));

    }
    catch( Exception e ) {
    System.err.println( "Exception: " + e );
    }
    }

    //Verbindung zum Server erstellen
    public static void main(String[] args) {

    //Security Manager erzeugen und setzen
    if (System.getSecurityManager() == null) {
    System.setSecurityManager(new RMISecurityManager());
    }

    //Verbindung über Registry zum Server herstellen
    try {
    server = (RemoteServer)Naming.lookup("//134.102.95.10/Test");
    }
    catch(Exception ex) {
    System.err.println(ex);
    }

    testMethode();
    }
    }

    Ein java.policy-file hab ich auch:


    grant
    {
    permission java.lang.RuntimePermission "setFactory";
    permission java.net.SocketPermission "127.0.0.1:*", "accept, connect, listen, resolve";
    permission java.net.SocketPermission "134.102.95.10:*", "accept, connect, listen, resolve";
    permission java.net.SocketPermission "134.102.95.17:*", "accept, connect, listen, resolve";
    permission java.net.SocketPermission "*.biba.uni-bremen.de:*", "accept, connect, listen, resolve";
    };
    [/PHP]

    Und rmid braucht ja auch eins:

    [PHP]
    grant {
    permission com.sun.rmi.rmid.ExecPermission
    "d:\\JavaSoft\\jdk1.3.1_01\\bin";

    permission com.sun.rmi.rmid.ExecOptionPermission
    "c:\\Dokumente und Einstellungen\\sia\\jbprojects\\rmitest\\classes";
    };

    Anmerkung: Als ich das Activatable noch nicht eingebaut hatte, da lief alles fehlerfrei.

    - Jetzt starte ich die rmiregistry. Sie läuft.

    - Ich starte rmid: start rmid -J-Djava.security.policy=rmitest\rmid.policy ...Es läuft

    - Ich starte die Setup-Klasse: java -Djava.rmi.server.codebase=file:./

    -Djava.security.policy=file:rmitest\java.policy

    rmitest.Setup

    Es kommt eine Ausgabe: Got the stub for the Server

    Exported Server

    Soweit korrekt, das soll ja auch ausgegeben werden, wenn keine Fehler ausgeworfen

    werden.

    Danach sieht man aber nicht, ob der Server noch läuft. Es erscheint einfach wieder die DOS-

    Eingabeaufforderung. *blink*

    - Jetzt versuche ich den Client zu starten: java -Djava.rmi.server.codebase=file:./

    -Djava.security.policy=file:rmitest\java.policy

    rmitest.Client

    Fast wie beim Server, ist noch alles lokal.

    Da passiert es: Ich bekomme eine saftige Fehlermeldung!

    java.rmi.activation.ActivateFailedException: failed to activate object; nested exception is:

    java.security.AccessControlException: access denied

    (com.sun.rmi.rmid.ExecOptionPermission -Djava.security.policy=file:rmitest\java.policy )

    java.rmi.activation.ActivateFailedException: failed to activate object; nested exception is:

    java.security.AccessControlException: access denied

    (com.sun.rmi.rmid.ExecOptionPermission -Djava.security.policy=file:rmitest\java.policy )

    1)getTest1(): 0

    java.rmi.activation.ActivateFailedException: failed to activate object; nested exception is:

    java.security.AccessControlException: access denied

    (com.sun.rmi.rmid.ExecOptionPermission -Djava.security.policy=file:rmitest\java.policy )

    1)getTest2(2): 0

    Liegt das an meinem java.policy- oder rmid.policy-file? Das wär für mich die nahliegenste Erklärung, aber ich weiß nicht, was ich da ändern muss.

    Falls sich jemand durch das ganze hier durchfindet und mir weiterhelfen kann, hat er bei unheimlich was gut :-)

    Schon mal den allerherzlichsten Dank an diesen lieben Menschen!!!

    Eine (mal wieder) ratlose Sia

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...