abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:55 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Přehled kybernetických incidentů za září 2024 (pdf). Evidováno bylo 21 kyberbezpečnostních incidentů. Na účastníky mezinárodní bezpečnostní konference IISS Prague Defence Summit cílila phishingová kampaň.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Komunita

    Minetest (Wikipedie), tj. multiplatformní open source voxelový herní engine a hra inspirovaná Minecraftem, se přejmenovává na Luanti.

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

    Minulý týden byl představen (YouTube) Rocky Linux from CIQ (RLC) aneb Rocky Linux s komerční podporou od společnosti CIQ. Cena podpory je 25 000 dolarů ročně bez ohledu na počet jader CPU, serverů nebo virtuálních počítačů.

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

    Byla aktualizována časová osa podpory Manifest V2 v Chrome, tj. verze API rozšíření webových prohlížečů. V průběhu týdnů budou rozšíření Chrome používající tuto verzi deaktivována a uživatelům budou doporučeny alternativy používající Manifest V3. Uživatelé Chrome si mohou pomocí "chrome://extensions/" zjistit, kterých rozšíření se to týká. Například také uBlock Origin. Podporu Manifest V2 v Chrome bude možné dočasně prodloužit nastavením ExtensionManifestV2Availability.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Sada nástrojů Distrobox pro spouštění libovolných linuxových distribucí v terminálu pomocí kontejnerů byla vydána ve verzi 1.8.0.

    Ladislav Hagara | Komentářů: 0
    včera 10:55 | Komunita

    Byly zpracovány a zveřejněny videozáznamy z konference LinuxDays 2024. Přistupovat k nim lze přímo z programu, kde jsou také odkazy na prezentace, nebo z YouTube.

    Ladislav Hagara | Komentářů: 4
    13.10. 22:22 | Nová verze

    Byla vydána nová verze 1.4 svobodného multiplatformního vektorového grafického editoru Inkscape. Podrobný přehled novinek i s náhledy a animovanými gify v poznámkách k vydání.

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

    Softwarový KVM Input Leap (dříve Barrier) byl vydán ve verzi 3.0.0 (a následně pár opravných). Přidává podporu Waylandu a Qt6. Jde o první vydání od přesunu z projektu Barrier v roce 2021. Barrier vznikl jako fork Synergy, jehož verze 2 byla částečně proprietární a její bezplatná open-source verze měla umělá omezení.

    Fluttershy, yay! | Komentářů: 0
    13.10. 21:00 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 9
    12.10. 06:33 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2024, jež probíhá tento víkend v Praze v prostorách Fakulty informačních technologií Českého vysokého učení v Praze (FIT ČVUT). Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 3
    Rozcestník

    Dotaz: Rozjeti prvni servletove aplikace

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

    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.