2011-05-04 23 views
5

Java'da mutlak URL yolunu (http: // localhost: 8080/myApp) almanın bir yolu var mı? Senaryo, tomcat sunucusunda bulunan csv dosyasına bağlanmam gerekiyor. Eğer mutlak yola girersem ifade iyi çalışır, ama getAbsolutePath() kullanarak url'nin yolunu almak için bir çözüm var. Eğer hatalıysam özür dilerim.Java'da bir URL'nin mutlak yolunu alın

Connection conn = DriverManager(getConnection("jdbc:relique:csv:/home/apache-tomcat-6.0.26/webapps/myApp/")) 

Şimdiden teşekkürler.

cevap

9

Tam olarak istediğiniz şeyi yapan ServletContext.getRealPath()'u kullanabilirsiniz.

Not: 'un her koşulda çalışması gerekmez. Örneğin, Tomcat'iniz .war dosyasını paketini açmadan dağıtmak üzere yapılandırılmışsa, bu null'u döndürecektir.

+0

Teşekkür ... Eğer javax.servlet.ServletContext bir hata iletisi "getRealPath (java.lang.String) iade önerdi deyimi (Umut senin doğru soru var ...)() " – Ria

+0

'a uygulanamaz. Bağlam yolunuza göre bir (URL) yolunu iletmeniz gerekir. Yani, web sunucunuzun "kök" dizinini öğrenmek istiyorsanız, sadece "/" 'ifadesini girin. –

+0

ServletContext.getRealPath ("/"); çalışıyor .... Teşekkürler Joachim .. – Ria

0

JAVA hakkında fazla bir şey bilmiyorum.

May be getServletContext().getContextPath() is something you are looking for

DÜZENLEME:
Or may be getRealPath()

+0

Cevabınız için teşekkürler ... Bu ifade sadece/myApp döndürür. Ama buna benzer bir şeye ihtiyacım var .../home/user/apache-tomcat/webapps/myApp – Ria

+0

Daha önce de söylediğim gibi JAVA hakkında fazla bir şey bilmiyorum. GetServletContext(). GetRealPath() nedir? – Mayank

+0

Bunu denedim .. ServletContext.getRealPath ("/") çalıştı .. – Ria

-1

Tomcat bir http sunucusu değil. Tüm tomcat url referans hizmetleri, dosyaları değil.

Herhangi bir http URL'sinden almak istiyorsanız, istek üzerine csv dosyasını gönderen başka bir hizmet uygulamanız gerekecektir. URL, http://localhost/myapp/input.csv gibi bir apache httpd gibi bir http sunucusuna ihtiyaç duyar.

Cevabınız için

+0

Evet Andreas ve ben ServletContext.getRealPath ("/") kullandım. İşe yarıyor... – Ria

İlgili konular