Obecně mi ten přístup přes váš vlastní servlet přijde jako perspektivnější řešení - stanovíte si tvar URL a ten budete v servletu interpretovat. Až budete chtít mít soubory v blobech v databázi nebo v document management systému nebo někde v mracích, tak předěláte implementaci servletu, ale rozhraní (URL) vám zůstane. Možná se vám z toho DefaultServletu podaří leccos převzít, jako třeba logiku zjišťování typu MIME nebo výrobu všech možných hlaviček odpovědi.

Honza Dvořák
MathAn Praha

Dne 10.2.2010 9:27, Ondra Medek napsal:
Aha, jestli není problém v security manageru, a navíc chcete řídít
přístup podle IP klienta, tak nejlepší bude asi ten vlastní download
servlet. Zagooglujte na "servlet static content". V Tomcatu statický
obsah servíruje jakýsi DefaultServlet.

Také možné řešení je dát Apache před Tomcat, a řídít přístup z Apache.
Ale ten servlet je více flexibilní (dělal jsem něco podobného).

2010/2/9 Martin Kuba<[email protected]>:
Ondra Medek napsal(a):
Administrator Tomcatu by mel moci vasemu servletu povolit primy
pristup do (vsech, vybranych) souboru kdekoliv na filesystemu, viz
http://tomcat.apache.org/tomcat-5.5-doc/security-manager-howto.html
V security manageru problém není, jestli to dobře chápu.

Jde o to, že soubory jsou mimo adresář webaplikace, takže tomcat
je nemůže sám servírovat.

Napadlo mě jedno řešení, a to ve WEB-INF/web.xml zaregistrovat
ServletContextListener, tj.

    <listener>
     <listener-class>cz.moje.MujListener</listener-class>
    </listener>


který při startu aplikace zkontroluje, jestli
existuje link na adresář, a když ne, vytvoří ho. Kam má link
ukazovat může brát z getServletContext().getInitParameter("adresar")
a hodnota bude v META-INF/context.xml jako

<Parameter name="adresar" value="/nekde" override="true"/>

takže po redeploy bude link vždycky existovat.

Makub

2010/2/9 Ivan Polak<[email protected]>:
Zdravim konferenciu,

chcel som si spravit jednoduchy publikacny system, kde pouzivatel zada
clanok a vie pripojit subory ako prilohy. tieto subory ukladam do
adresara, ktory je mimo aplikacie, tak aby undeploy a nasledny deploy
novej verzie nemal "dosah" na tento adresar. administrator kde chcem v
tomcat-e spustit tuto aplikaciu ma upozornil, ze ak chcem priamo
pristupovat k tomuto adresaru bude vzdy po deploy novej verzie musiet
vytvorit linku na tento adresar, ktoru vytvori v adresary webapp teda
tam kde je subor index.jsp. Alebo druha moznost, musim vytvorit tzv.
download servlet, ktory bude tieto subory nacitavat a odovzdavat na
vystup. je este aj nejaka ina moznost, pripadne co by ste odporucali.

dakujem

Ivan




--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: [email protected]
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------





Odpovedet emailem