Komentáře k článku

Java na webovém serveru: Komentáře a integrace s Texy

Možnost vkládat komentáře, resp. schopnost přijímat od uživatelů formátovaný text, to je vlastnost, bez které se neobejde skoro žádný web. V dnešním díle přidáme do naší aplikace podporu komentářů a ukážeme si, jak je kontrolovat, aby nám do nich potenciální útočník nemohl podstrčit žádná závadná data, která by narušila naši stránku. Kromě XHTML a prostého textu umožníme čtenářům psát komentáře ještě v jednom formátu – Texy.

Zpět na článek

30 komentářů k článku Java na webovém serveru: Komentáře a integrace s Texy:

  1. harvie

    PHP interface

    Proč u svatého Stallmana rvete to do texy a zpátky přes DNS resolver, všechny možné síťové vrstvy a webový server? Normální člověk by si udělal php-cli skript (ne. opravdu nemyslím php-cgi), který by pak z javy spouštěl a data do něj rval pípou, nebo by šlo z javy spustit php fastcgi a nějak to tahat přes něj.
    Asi za to může celá ta tendence všechno přesouvat na web a dělat jako že umět psát opravdové programy už není potřeba… (ale pak musí stejně přijít opravdoví chlapi s pravděpodobně většími platy a programovat operační systémy, servery, databáze, prohlížeče a programovací jazyky pro všechny ty programátory webů, kteří se toho bojí)
    Jinak pokuď už chcete zkoušet různá harakiri, tak mrkněte na tohle:
    http://php-java-bridge.sourceforge.net/
    http://www.zend.com/en/products/server-ce/
    ale opakuji, že bych do podobných sebevražd nešel…

    1. tom

      Re: PHP interface

      A v cem je problem? Tohle bylo asi nejjednodussi nastavit a hlavne si to muze vyzkouset kazdy. Pokud budes chtit rychlost, proste si naimplementujes navrhnuty interface jinym zpusobem. Autor, ale timto ukazal pouziti nekolika technologii, ktere pravdepodobne bude ctenar v budoucnu pouzivat.

    2. František KučeraAutor příspěvku

      Re: PHP interface

      Vzhledem k tomu, že se ta operace provádí jen při psaní nových komentářů (což bude výrazně méně časté než čtení) a vzhledem k tomu, kolik HTTP požadavků musí proběhnout při načtené každé stránky*, mi to přijde zanedbatelné. Výhody spouštění php jako podprocesu mi přijdou menší než nevýhody – jednak to snižuje bezpečnost (php běží pod stejným uživatelem jako javový server) a jednak tam to PHP musím mít. Když to proložíme HTTP protokolem, tak je to sice na první pohled nehospodárné, ale dělat něco jako SOA v malém – mít jednu (nebo několik málo) službu v rámci organizace/firmy, která bude zodpovědná za Texy a ostatní ji budou využívat – na jiných serverech nemusí být PHP vůbec nainstalované, nikdo ho nemusí konfigurovat a udržovat. Než php-cli to by spíš stál za zvážení ten javovský port texy – pořádně ho otestovat a průběžně sledovat jestli je kompatibilní, jestli se s novými verzemi nerozchází od originálu. Případně zkusit jestli by PHP verze nešla rozchodit v Quercusu…
      *) a tím nemyslím jen tuhle konkrétní aplikaci, ale weby obecně – navíc tam se nekomunikuje v rámci localhostu, ale s vnější (pomalou) sítí. I když většina těch požadavků dostane odpověď „304 Not Modified“, ty hlavičky tam stejně proletí – vedle toho ta jedna komunikace navíc s Texy opravdu nic není.

      1. František KučeraAutor příspěvku

        Re: PHP interface

        Vypadlo mi tam:
        „ale dělat něco jako SOA“ → „ale umožňuje nám dělat něco jako SOA“

      2. snowracer

        Texy Quercus

        Ve Quercu se mi podařilo rozchodit jen starou verzi Texy pro PHP4 a to ještě jen špatně s nutností několika úprav.
        Výborně naopak funguje PHP/Java bridge pomocí JSR 223. Jen nedoporučuji používat přímo na aplikačním serveru. Lépe vytvořit jednoduchý Texy-miniserver komunikovat nativními zprávami s ním.

      1. jerzy.burzek

        Re: java na web

        skor borec, co si precital clanok o „pomalosti java 1.1“ z 12.3.1998 a zbuchal uz 3 webshopy v php v celkovom objeme 12.4kB zdrojoveho kodu, co ho nepochybne radi medzi odbornikov :-)

        1. Flasi

          Re: java na web

          A k tomu má nejspíš dojem, že java na webovém serveru = java na webu = java applet ve stránce. :-)

          1. lolek

            Re: java na web

            dojmy a pojmy z mé osoby o které absolutně nic nevíte nechme stranou. zkuste mi napsat, kdy a proč bych měl použít na web javu místo ruby/php/pythonu? v čem spočívájí výrazné výhody?

                1. blizzboz

                  Re: java na web

                  zložitá je len pre toho kto má v hlave nasraté, my ostatní sa neustále vzdelávame. a čo je prosím ťa zložité na LINQ to SQL ?

          2. x

            Re: java na web

            nemam ziaden vyhraneny nazor ani na php ani na javu … len ak by bol nejaky priklad na nejaku komplikovanejsiu webaplikaciu v jave… lebo zatial co si pamatam resp. nepamatam ziadnu stranku v jsp, ktora by dokazala odpovedat … ako to povedat … svizne… Neviem ci to je teda sposobene javou alebo len zlou konektivitou serverov – i ked tie by sa dali pomocou pingu odmerat a odpocitat.
            Nemusi to byt ziadna wikipedia ani facebook, len nieco co je navstevovane a nieco jednoznacne vykonava okrem vracania statickeho textu.

            1. Ondra

              Větších webů v Javě...

              je dost, např. LinkedIn.com.
              Facebook.com zvažoval Javu jako jednu z alternativ k ukrutně pomalému PHP, nakonec začali překládádat PHP kód do C++ a kompilovat do binárek.

    1. Radek Miček

      Re: java na web

      Váš údiv je zcela na místě. Psát v dnešní době novou aplikaci v Javě je sebemrskačství.

        1. Radek Miček

          Re: java na web

          Protože existují lepší jazyky s lepšími knihovnami.
          Porovnávám podle následujících kritérií: znovupoužitelnost, přehlednost, typová kontrola, možnost paralelismu.

              1. František KučeraAutor příspěvku

                Re: java na web

                hmm, v tom jsem asi žádný produkční web napsaný neviděl. A co třeba GNUstep? Nad ním jsem viděl jednu pěknou webovou aplikaci, působilo to dost svižně a vůbec fajn :-) Neví někdo jak dobře se v tom píše? (Objective-C zatím leží na mém TODO seznamu věcí, ke kterým se snad jednou dostanu, časem)

                1. Satai

                  Re: java na web

                  Ve Scalle jsou psane nektere komponenty (ne frontend) Twitteru, Novell ve Scale (framework Lift) implementoval Pulse, FourSquare take pouziva Scalu i Lift.
                  To ale samozrejme ani zdaleka neznamena, ze je Java vzdy spatna volba. Ma vyzrale knihovny a ekosystem (trebas Apache odvedl uzasny kus prace), komu nevyhovuje aktualni podoba Java EE „podle Sunu“, tak muze sahnout po Springu, neni problem, pokud mate penize, sehnat slusne programatory, jsou k dispozici knihy, navody, IDEs, servery pro CI…

  2. Ondra

    JTexy je ve vývoji...

    Hoj,
    rád bych podotknul, že JTexy je ve vývoji… tj. rozhodně nepřeparsuje vše.
    Není čas… Pokud by se někdo chtěl přidat, jen uvítám :)
    Ondra

  3. Ondra

    Vytvořil jsem Texy Docker image. https://github.com/OndraZizka/texy-docker/

    A potom ho používám víceméně stejně.

            HttpURLConnection conn = (HttpURLConnection) this.url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "text/texy");
            //conn.setRequestProperty("Content-Length", ""+);
    
            conn.setDoInput(true);
            conn.setDoOutput(true);
            BufferedInputStream bis = new BufferedInputStream(texyMarkupStream);
    
            try (OutputStream requestBodyStream = conn.getOutputStream()) {
                IOUtils.copy(texyMarkupStream, requestBodyStream);
            }
    
            return conn.getInputStream();
    

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3253