Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Drizzt
    nagyúr

    Köszi a választ.
    A jsp-k azok futnak, nincs skype a gépemen
    A 80-as porton futna
    A két kód teljesen ugyanaz, a db is. Asztali gépen lett megírva a kód ahol teljesen jól működött, aztán meg a laptopon ezt a hibát adta.
    XAMPP adatbázissal lett fejlesztve.

    Hibaüzenet:

    HTTP Status 500 – Internal Server Error

    Type Exception Report

    Message Error instantiating servlet class [login.LoginServlet]

    Description The server encountered an unexpected condition that prevented it from fulfilling the request.

    Exception

    javax.servlet.ServletException: Error instantiating servlet class [login.LoginServlet] org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1598) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base/java.lang.Thread.run(Thread.java:844)

    Root Cause

    java.lang.RuntimeException: login.LoginServlet.<init>(LoginServlet.java:1) java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1598) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base/java.lang.Thread.run(Thread.java:844)

    Note The full stack trace of the root cause is available in the server logs.
    Apache Tomcat/9.0.30

    Ugyanolyan verzioju a Java a gepeken? A Java module support elegge bekavart a reflectionnek, a hibauzeneted meg onnan jon. Elsore ugyanolyan jdk-t bugaznek.

  • bandi0000
    nagyúr

    Sziasztok!
    Írtam egy hosszabb kódot, amiben az Arraylist rendezése nem működik.
    Csak ezt a részt kivettem, hogy egy egyszerű példán oldjam előbb meg, de ugyanúgy nem jó.
    Tudtok segíteni, hogy mi a baj vele? Miért nem jó?
    A Collection.sort... kezdetű sornál jelez hibát.
    Ezt irja ki: non-static variable dis cannot be referenced from static context
    Köszönöm a segítséget.

    public class Komparator {
     class KutyaRend implements Comparator<Kutyak> {
     @Override
     public int compare(Kutyak o1, Kutyak o2) {
     return o1.getKor()-o2.getKor();
     }
     }
     public static void main(String[] args) {
     Kutyak kutya;
     ArrayList<Kutyak> KutyaLista=new ArrayList<>();
     kutya=new Kutyak("Stefi", 6);
     KutyaLista.add(kutya);
     KutyaLista.add(new Kutyak("Lacy", 2));
     KutyaLista.add(new Kutyak("Roger", 3));
     KutyaLista.add(new Kutyak("Tomi", 4));
    Collections.sort(KutyaLista, new KutyaRend());

    comparatornak bool al kellene visszatérnie hogy rendezni lehessen

  • Drizzt
    nagyúr

    Sziasztok!
    Írtam egy hosszabb kódot, amiben az Arraylist rendezése nem működik.
    Csak ezt a részt kivettem, hogy egy egyszerű példán oldjam előbb meg, de ugyanúgy nem jó.
    Tudtok segíteni, hogy mi a baj vele? Miért nem jó?
    A Collection.sort... kezdetű sornál jelez hibát.
    Ezt irja ki: non-static variable dis cannot be referenced from static context
    Köszönöm a segítséget.

    public class Komparator {
     class KutyaRend implements Comparator<Kutyak> {
     @Override
     public int compare(Kutyak o1, Kutyak o2) {
     return o1.getKor()-o2.getKor();
     }
     }
     public static void main(String[] args) {
     Kutyak kutya;
     ArrayList<Kutyak> KutyaLista=new ArrayList<>();
     kutya=new Kutyak("Stefi", 6);
     KutyaLista.add(kutya);
     KutyaLista.add(new Kutyak("Lacy", 2));
     KutyaLista.add(new Kutyak("Roger", 3));
     KutyaLista.add(new Kutyak("Tomi", 4));
    Collections.sort(KutyaLista, new KutyaRend());

    Ez szerintem egy elég nehezen érthető része a javanak. De a lényeg. Van a Komparator osztályod. Ezen az osztályon belül van egy inner classod, a KutyaRend. Ilyenkor a kutyarend osztály mivel nem static, ezért a példánya csak egy adott objektumpéldányon belül hozható létre. A static method nem példányhoz, hanem osztályhoz tartozik, így annak nincsen példánya, tehát nincsen benne KutyaRend létrehozási lehetőség sem. Legkönnyebben ezt itt úgy tudod megoldani, ha a Kutyarend osztályt statická teszed:
    static class Kutyarend ...

    De ettől sokkal szebb, ha nem ágyazod be az osztályba semmilyen módon, hanem külön osztályba teszed. Sőt, ha ez a kutyák természetes rendezése, akkor elég a Kutyákat implements Comaparble<Kutyák> módon megadni, s akkor benne a compareTo-t implementálni.

    Még egyszerűbb, ha használod a Java 8-as Comparators.comparing-et, így:
    Collections.sort(KutyaLista, Comparators.comparing(Kutyak::getKor));

  • fatal`
    titán

    Sziasztok!
    Írtam egy hosszabb kódot, amiben az Arraylist rendezése nem működik.
    Csak ezt a részt kivettem, hogy egy egyszerű példán oldjam előbb meg, de ugyanúgy nem jó.
    Tudtok segíteni, hogy mi a baj vele? Miért nem jó?
    A Collection.sort... kezdetű sornál jelez hibát.
    Ezt irja ki: non-static variable dis cannot be referenced from static context
    Köszönöm a segítséget.

    public class Komparator {
     class KutyaRend implements Comparator<Kutyak> {
     @Override
     public int compare(Kutyak o1, Kutyak o2) {
     return o1.getKor()-o2.getKor();
     }
     }
     public static void main(String[] args) {
     Kutyak kutya;
     ArrayList<Kutyak> KutyaLista=new ArrayList<>();
     kutya=new Kutyak("Stefi", 6);
     KutyaLista.add(kutya);
     KutyaLista.add(new Kutyak("Lacy", 2));
     KutyaLista.add(new Kutyak("Roger", 3));
     KutyaLista.add(new Kutyak("Tomi", 4));
    Collections.sort(KutyaLista, new KutyaRend());

    A kutyarend osztályod nem látszik statikus metódusból, amíg nem jelölöd statikusnak.

    static class KutyaRend implements Comparator<Kutyak> {
       ...
    }

Új hozzászólás Aktív témák