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

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Komunita

    Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.

    Ladislav Hagara | Komentářů: 7
    včera 11:00 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

    Ladislav Hagara | Komentářů: 2
    včera 10:22 | Zajímavý software

    Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.

    Ladislav Hagara | Komentářů: 5
    včera 03:33 | Zajímavý software Ladislav Hagara | Komentářů: 1
    včera 00:11 | Nová verze

    Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    21.1. 16:11 | Humor

    Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.

    NUKE GAZA! 🎆 | Komentářů: 12
    21.1. 14:33 | Nová verze

    Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.

    Ladislav Hagara | Komentářů: 4
    21.1. 14:22 | Zajímavý projekt

    Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (5%)
     (0%)
     (10%)
     (21%)
     (3%)
     (5%)
     (2%)
     (11%)
     (36%)
    Celkem 576 hlasů
     Komentářů: 17, poslední včera 15:24
    Rozcestník

    Dotaz: Java servlet uprostřed URL

    Jiří Svoboda avatar 1.4.2010 12:25 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
    Java servlet uprostřed URL
    Přečteno: 440×
    Programuji jednoduchou aplikaci v JSP. Zbývá mi vyřešit poslední problém.

    Vše mám v čistém JSP (tj. bez frameworku) a teď potřebuji dopsat malou část, která bude sloužit pouze ke stažení souboru. Zřejmě bude v tomto okamžiku vhodnější použít samostatný servlet než JSP.

    Potřeboval bych tip, jak naprogramovat, resp. jak nastavit webový kontejner (používám Jetty) tak, aby bylo z browseru možné použít následující tvar URL (příklad):

    http://example.com/context/nejakyServlet/65535/Jméno_souboru.txt

    Po zadání této URL by se měl spustit příslušný servlet (to je ten problém) a získat zbytek URL (nechci tomu říkat query string) a podle něj začít odesílat příslušný soubor.

    '65535' je ID do databáze metadat souborů, "Jméno_souboru.txt" je tam jen proto, aby si browser myslel, že stahuje soubor příslušného jména (z předchozích zkušeností s CGI vím, je to nejschůdnější cesta vnucení jména souboru).

    Řešení dotazu:


    Odpovědi

    1.4.2010 14:06 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java servlet uprostřed URL
    Použijte takovéto mapování ve web.xml:
    <servlet>
      <servlet-name>DownloadServlet</servlet-name>
      <servlet-class>com.example.web.DownloadServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>DownloadServlet</servlet-name>
      <url-pattern>/nejakyServlet/*</url-pattern>
    </servlet-mapping>
    
    Zbývající část adresy si pak zjistíte z request.getServletPah() nebo request.getPathInfo().

    Mimochodem, psát výkonný kód (aplikační logiku) do JSP není šťastné řešení, bude se vám to pak špatně udržovat. Lepší je použít MVC vzor (klidně jen se servlety, bez dalšího frameworku).
    Jiří Svoboda avatar 1.4.2010 15:06 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
    Rozbalit Rozbalit vše Re: Java servlet uprostřed URL
    Díky, chodí to jako z praku. Netušil jsem, že to bude až tak jednoduché.

    K poznámce: Napsal jsem sice "čisté JSP", ale myslel jsem tím bez frameworku. Samotnou aplikační logiku mám v objektech JavaBeans, které používám pomocí <jsp:useBean...>, obvykle ve scope="session".

    Určitě lze zvolit ještě vhodnější způsob, ale zatím spíš zkouším, co to umí (tato aplikace má cca. 1000 řádků v souborech .jsp a 2000 řádků v souborech .java). Programování mě neživí (a snad ani nebude), je to spíš takové hobby.

    Ještě jednou díky za odpověď.

    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.