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:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    včera 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 16
    7.5. 03:55 | Komunita

    sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.

    Ladislav Hagara | Komentářů: 0
    6.5. 22:11 | Nasazení Linuxu

    Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 2
    6.5. 13:22 | IT novinky

    Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.

    Ladislav Hagara | Komentářů: 1
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 557 hlasů
     Komentářů: 26, poslední včera 09:58
    Rozcestník

    Dotaz: Rozjeti prvni servletove aplikace

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

    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.