Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • SkiLo

    pisze system ktory bedzie udostepnial pliki (glownie pdf,ale i inne tez sie trafia:))

    1.jak zrobic, aby nie bylo bezposredniego linku do pliku, chodzi mi o cos takiego , ze kilkasz link: pobiesz.jsp?id=7, a nie zeby byl ten plik podany jak na dloni.
    2. Gdzie przechowywac te pliki? Bedzie ich duzo, powiedzmy 1000, przechowywac je w jakims katalogu(web-inf?)? moze lepiej w bazie danych?
    3.Chce tez zrobic wyszukiwarke, wiec kazdy plik bedzie skojarzny z slowami kluczowymi,nie wiem tez za bardzo jak sie zabrac za to jakies pomysly i sugestia mile widziane :)
  • steelheart

    pliki trzymasz gdzie chcesz, jak masz klaster+oracla to mozesz i w bazie :P

    mapujesz sobie w bazie id na uri do plikow w systemie polecam uzywac np. commons-vfs wtedy mozesz trzymac pliki lokalnie, na ftp, na udzialach smb/cifs itp.

    potem sobie wyciagasz parametr requestu pobierasz uri z nim zwiazane i jego nazwe pliku oraz typ mime, otwierasz plik vfs'owy, wyciagasz z niego strumien modyfikujesz response tak jak trzeba dodajac headery i wysylasz plik jako attachment lub inline :P

    jesli klientem ma byc IE to pamietaj ze ma on problemy z plikami jako attachment i plikami slanymi po SSL gdy zadanie nie bylo do pliku tylko do aktywnego zasobu (odpowiedzi w SSL sa nie cache'owane i IE sciagnie plik po czym go skasuje i przy probie zapisu dostaniesz komunikat ze pliku niema w cachu... BIG LOL dla 'programistow' MS )
  • SkiLo

    hehe wszystko fajnie ale nie uzywam oracla, tylko postgresql

    a moze jakis kawalek kodu jak przesylac plik jak atachment ?

    dzieki
  • steelheart

    google prawde ci powie; -P
  • Maciek Makowski

    > 3.Chce tez zrobic wyszukiwarke, wiec kazdy plik
    > bedzie skojarzny z slowami kluczowymi,nie wiem
    > tez za bardzo jak sie zabrac za to jakies pomysly i
    > sugestia mile widziane :)

    Sugestia: http://lucene.apache.org/
  • steelheart

    w nowym Software Developer Journal jest artykul o lucynce od tego mozesz zaczac :)
  • SkiLo

    wlasnie mialem powiedziec zebyscie do gogle nie odsylali :/

    ta "lucyne" cokolwiek to jest oszpekam :P

    jak macie jakies linki do tego jak powinno sie tworzyc aplikacje z wykorzystaniem platformy j2ee to podajcie. link to gogle znam; )
  • steelheart

    ad jak to sie powinno robic to zapraszam na szkolenie do accentre albo altkomu ; -P
  • Nikita

    Szukam specjalistów z Javy i nie tylko..
    Kontakt: kielce@rinf.pl
  • SkiLo

    "ad jak to sie powinno robic to zapraszam na szkolenie do accentre albo altkomu; -P "

    chetnie tylko $$$ brak


    a tak do tematu to z dokumentacji na apache.or ciezko sie czego kolwiek dowiedziec, jak sie pierwszy raz widzi jakas technologie...np. lucene...moze ktos to pzyblizyc jak to dziala? i czy przeszukuje i indexuje pliki pdf? jak to dziala tak troche dokladniej :P
  • Anonim

    Co do Lucene to pracowalem na niej kiedys i nawet z kolega zmachalismy do niej driver do obslugi oracle (Indeks skladowany w bazie danych).
    O ile dobrze pamietam to ze wzgledu na charakterystyczna budowe indeksu dosc ciezko bylo ja przemapowac tak by korzystala z bazy danych (nie wiem jak to teraz jest bo projekt zdalismy ponad rok temu)
    Pamietaj zatem ze musisz takze zastanowic sie w jakiej formie przechowujesz indeks plikowy. No i ponadto jezeli sa to dokumenty po polsku musisz wymyslec wygodny stemmer ktory odpowiednio poprawi wyniki wyszukiwania, ja dosc dlugo meczylem kolezanke polonistke zanim opracowalismy prosciutki systemik poprawiajacy wyniki wyszukiwania fraz.
    BTW:
    Co do Accenture to moze mi ktos w koncu powie czym zajmuje sie ta firma bo od n miesiecy dostaje zaproszenia na rozmowy kwalifikacyjne w sprawie pracy a ja o niej zupelnie nie slyszalem oprocz tego ze mieli ladne kolorowe wkladki na targach pracy i wyśmienite krówki (albo landrynki, już nie pamietam). Czym oni oprocz reklamowania swoich "preznych" zespolow sie zajmuja? Szkolenia - rozumiem Altkom, ale odkad to robi Accenture?
    A co do szkolen to postaraj sie zeby ci szef dal na to kase. W dobrej firmie naprawde sa skorzy do inwestycji w pracownikow.
    Pozdrawiam wszystkich i życze owocnego kodowania:)
  • steelheart

    accenture rozne rzeczy robi, a jedna z nich jest prowadzenie certyfikowanych szkolen Sun'a.

    w polsce szkoleniowcow bierze np. z mojej firmy (podobnie zreszta jak altkom :P)
  • chojnac

    to znaczy z jakiej firmy ? :)
  • steelheart

    Isolution s.c.

    w altkomie Java, J2ee, wzorce, szkolenia ibm i bea zwiazane z developmentem javy na ich platformach prowadza ludzie od nas.
    a accenture prowadzimy napewno sl-500 i oo-226 byc moze inne tu sie nie orientuje za bardzo
  • SkiLo

    dla odmiany napisze cos na temat :P

    zarzucilem oko na zilverline (powered by lucene). mial ktos z tym doczynienia i ma jakies tips&tricks ? :)
  • SkiLo

    kolejne pytanko:

    jak zliczyc ile uzytkownikow jest w systemie?

    zliczam sesje (session.isNew()), ale nie wiem jak sprawdzic kiedy sesja sie konczy
    czy moze jakos inaczej sie to robi?
  • steelheart

    podpowiem, reszte dopowiedz sobie sam:
    HttpSessionListener
  • SkiLo

    <ok>

    takie odpowiedzi lubie :)
    a nie ciagle google i goolge :P
  • SkiLo

    a wiec zrobilem sobie serwleci implementujacy ten interfejsik,dodalem go do web.xml aby startowal przy starcie systemu i...

    mam taka zmienna w zasiegu aplikacji
    getServletContext().setAttribu te("usersCount", "0");

    public void sessionCreated(HttpSessionEven t se){
    int count = Integer.parseInt((String)getSe rvletContext().getAttribute("u sersCount"));
    count++;
    getServletContext().setAttribu te("usersCount", Integer.toString(count));
    }

    public void sessionDestroyed(HttpSessionEv ent se){
    int count = Integer.parseInt((String)getSe rvletContext().getAttribute("u sersCount"));
    count--;
    getServletContext().setAttribu te("usersCount", Integer.toString(count));
    }

    i dodawanie dziala dobrze,ale gdy zamkne przegladarke to nie odejmuje sesji, why ?
  • steelheart

    1)
    nie serwlet, listener
    konfigurujesz w deskryptorze jako listener

    2)
    a dlaczego by mialo to zrobic ?
    musisz poczytac jak działaja sesje HTTP

    sesja odejmie ci sie w 2 przypadkach:
    - wywowlasz w kodzie invalidate() na sesji
    - ulegnie przedawnieniu (session timeout)

    3)
    sklanial bym sie ku
    public class SessionCounter implements HttpSessionListener {

    private static int sessionCount;

    public void sessionCreated(HttpSessionEven t se) {
    sessionCount++;
    }

    public void sessionDestroyed(HttpSessionEv ent se) {
    sessionCount--;
    }

    public static int getSessionCount() {
    return sessionCount;
    }
    }

    jesli chcesz dzialac na obiekcie w application scope to musisz go synchronizowac