abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].

    Ladislav Hagara | Komentářů: 1
    včera 13:33 | Nová verze

    Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.

    Ladislav Hagara | Komentářů: 0
    22.3. 21:55 | Nová verze

    Byla vydána verze 11.0 s kódovým jménem Aramo linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 22.04 LTS a podporována bude do roku 2027. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    22.3. 16:55 | IT novinky

    Mozilla založila startup Mozilla.ai a vložila do něj 30 milionů dolarů. Cílem je vývoj důvěryhodné, nezávislé a open source AI.

    Ladislav Hagara | Komentářů: 2
    22.3. 16:33 | Nová verze

    Po půl roce vývoje od vydání verze 43 bylo vydáno GNOME 44 s kódovým názvem Kuala Lumpur. Přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Krátké představení na YouTube.

    Ladislav Hagara | Komentářů: 27
    22.3. 13:33 | IT novinky

    Letošní Turingovou cenu (2022 ACM A.M. Turing Award) získal Bob Metcalfe za vynalezení, standardizaci a komercializaci Ethernetu.

    Ladislav Hagara | Komentářů: 0
    22.3. 07:00 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána ve verzi 5.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    21.3. 18:22 | Nová verze

    Byla vydána Java 20 / JDK 20. Nových vlastností (JEP - JDK Enhancement Proposal) je 7. Nová Java / JDK vychází každých 6 měsíců. LTS verze je 17.

    Ladislav Hagara | Komentářů: 7
    21.3. 16:44 | IT novinky

    Google spustil konverzační AI Bard. Vyzkoušet lze zatím pouze ve Spojených státech a Spojeném království. Více v Bard FAQ.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 302 hlasů
     Komentářů: 4, poslední dnes 06:42
    Rozcestník


    Dotaz: Rozjeti prvni servletove aplikace

    22.9.2009 10:42 Maartin
    Rozjeti prvni servletove aplikace
    Přečteno: 323×

    Dobry den, postupuji podle tohoto navodu:

    http://www.linuxzone.cz/index.phtml?ids=2&idc=179

    a chci tu aplikaci zprovoznit. Do slozky webapps jsem nahral adresar test s timto obsahem:

    test/
    `-- WEB-INF
        |-- classes
        |   `-- DatumServlet.java
        `-- web.xml
    

    Pokud vsak zadam do prohlizece http://localhost:8080/test/servlet/Datum objevi se chybove hlaseni HTTP Status 500 s timto textem:

    exception
    
    javax.servlet.ServletException: Wrapper cannot find servlet class DatumServlet or a class it depends on
    	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    	org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    	java.lang.Thread.run(Thread.java:619)
    
    root cause
    
    java.lang.ClassNotFoundException: DatumServlet
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
    	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    	org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    	java.lang.Thread.run(Thread.java:619)
    

    Co mi jeste taky neni jasne, proc kdyz v prohlizeci potom zmacnu F5, tak dostanu error 404 a chybovou hlasku vyse uvidim znovu pouze az restartuji tomcat - cim to je?

    Odpovědi

    22.9.2009 11:26 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Rozjeti prvni servletove aplikace
    Možná by to chtělo zkompilovat. DatumServlet.java je jen zdroják, tipuji, že by tam místo něj měl být .class soubor (nebo jak se jmenují). Ale v Javě nedělám.
    22.9.2009 11:39 Maartin
    Rozbalit Rozbalit vše Re: Rozjeti prvni servletove aplikace

    Ano, asi mate pravdu, ono je to vlastne i v tom navodu. Jenze kdyz chci soubor zkompilovat:

    $ javac DatumServlet.java
    DatumServlet.java:1: package javax.servlet does not exist
    import javax.servlet.*;
    ^
    DatumServlet.java:2: package javax.servlet.http does not exist
    import javax.servlet.http.*;
    ^
    DatumServlet.java:5: cannot find symbol
    symbol: class HttpServlet
    public class DatumServlet extends HttpServlet {
                                      ^
    DatumServlet.java:8: cannot find symbol
    symbol  : class ServletConfig
    location: class DatumServlet
        public void init(ServletConfig config)
                         ^
    DatumServlet.java:9: cannot find symbol
    symbol  : class ServletException
    location: class DatumServlet
        throws ServletException {
               ^
    DatumServlet.java:19: cannot find symbol
    symbol  : class HttpServletRequest
    location: class DatumServlet
        protected void doGet(HttpServletRequest req,
                             ^
    DatumServlet.java:20: cannot find symbol
    symbol  : class HttpServletResponse
    location: class DatumServlet
        HttpServletResponse res)
        ^
    DatumServlet.java:21: cannot find symbol
    symbol  : class ServletException
    location: class DatumServlet
        throws ServletException, java.io.IOException {
               ^
    DatumServlet.java:26: cannot find symbol
    symbol  : class HttpServletRequest
    location: class DatumServlet
        protected void doPost(HttpServletRequest req,
                              ^
    DatumServlet.java:27: cannot find symbol
    symbol  : class HttpServletResponse
    location: class DatumServlet
        HttpServletResponse res)
        ^
    DatumServlet.java:28: cannot find symbol
    symbol  : class ServletException
    location: class DatumServlet
        throws ServletException, java.io.IOException {
               ^
    DatumServlet.java:33: cannot find symbol
    symbol  : class HttpServletRequest
    location: class DatumServlet
        protected void processRequest(HttpServletRequest req,
                                      ^
    DatumServlet.java:34: cannot find symbol
    symbol  : class HttpServletResponse
    location: class DatumServlet
        HttpServletResponse res)
        ^
    DatumServlet.java:35: cannot find symbol
    symbol  : class ServletException
    location: class DatumServlet
        throws ServletException, java.io.IOException {
               ^
    DatumServlet.java:10: cannot find symbol
    symbol  : variable super
    location: class DatumServlet
            super.init(config);
            ^
    15 errors
    

    Nemuze najit javax.servlet. Ok, tedy. Zjistil jsem, ze tato trida se nachazi zde: /opt/tomcat/common/libs/servlet/servlet-api.jar. Zkusil jsem tedy soubor prelozit se zadanym classpatch takto:

    javac -cp /opt/tomcat/common/lib DatumServlet.java

    Ale vybafla na me presne ta stejna chyba...

    22.9.2009 11:43 Maartin
    Rozbalit Rozbalit vše Re: Rozjeti prvni servletove aplikace

    Tak vyreseno, do classpath je nedava adresar, ale primo cesta k danemu jaru

    javac -cp /opt/tomcat/common/lib/servlet-api.jar DatumServlet.java
    22.9.2009 11:46 Maartin
    Rozbalit Rozbalit vše Re: Rozjeti prvni servletove aplikace

    Ale jeste bych mel jeden dotaz. Jak udelat, abych po zmene servletu (editace zdrojaku a jeho opetovna komilace) nemusel vzdy restartovat cely Tomcat kvuli tomu, aby se zmena projevila.

    22.9.2009 12:02 dark
    Rozbalit Rozbalit vše Re: Rozjeti prvni servletove aplikace

    Ahoj,

    zkoušels použít maven? Ze začátku to může být opruz, ale je schopný ti stáhnout všechny závisloti a netbeans s ním umí přimo pracovat. Bez restartu tomcatu nevim jestli to půjde, někteří na to používají jetty, ale ten to taky myslím neumí (když změníš třídu). Já používám na vývoj glassfish.

    22.9.2009 12:13 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Rozjeti prvni servletove aplikace
    Pocas vyvoja deployovat aplikaciu v expanded forme a v konfiguracii tomcatu zapnut autoRedeploy; ale to urcite najdes v dokumetacii tomcatu, ze ano.
    23.9.2009 15:54 Maartin
    Rozbalit Rozbalit vše Re: Rozjeti prvni servletove aplikace

    To bude snad to co potrebuji.

    1) Expanded forma - tim je myslena aplikace co neni zabalena do war archivu?

    2) Muzete me prosim odkazat do dokumentace, kde se resi autoRedeploy, nejak to tam nemuzu najit.

    finc avatar 23.9.2009 16:32 finc | skóre: 8 | blog: Finc | Kolín
    Rozbalit Rozbalit vše Re: Rozjeti prvni servletove aplikace
    No, pokud je to mala aplikace, tak automaticky redeploy te tolik obtezovat nebude.

    Pokud ovsem aplikace zacne narustat a deploy se zacne prodluzovat (deploy meho systemu na glassfish trva cca 1 minutu), tak se musis poohlednout po necem sofistikovanejsim.

    Osobne pouzivam JavaRebel, ktery umi udelat tzv. hotswap. Tedy na aplikacnim serveru je jakysi listener, ktery provadi zmenu primo na classloaderu za behu. Pri zmene nejakeho *.java souboru, dam zkompilovat samotny soubor a hned vidim zmenu na serveru.

    Ovsem i tento zpusob ma sva omezeni (viz napr. nova trida, atd.). Ale pro zmenu implementaci metod je ten nastroj k nezaplaceni.
    Kdo Vam dal pravo ty lidi urazet? A kdo ti dal pravo cumet z okna, ty kr.vo!
    default avatar 22.9.2009 19:48 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Rozjeti prvni servletove aplikace

    Jen taková poznámka: Default Package byl deprekován někdy v dobách Java SE 2. Vše by mělo být v balíčcích. Class Loadeři mívají s default packagem občas problém.

    23.9.2009 21:52 init_daemon
    Rozbalit Rozbalit vše Re: Rozjeti prvni servletove aplikace
    Na servlety sa vykasli. To je styl davno minuly :-D

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.