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í
×
    dnes 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

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

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 1
    včera 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 3
    6.10. 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    6.10. 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    6.10. 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    6.10. 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (18%)
     (16%)
     (16%)
    Celkem 191 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: Rozjeti prvni servletove aplikace

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

    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.