Forum » Programiranje » [java] absolutna pot
[java] absolutna pot
Baja ::
pozdravljeni, dva dni se že j*** s tem. V init funckiji oz construkturjo rabim polno pot aplikacije da lahko naložim konf. fajle. V jsp-ju dobim pot takole
Ampak tega nikakor ne morem implementirati v class. Vedno mi vrne null, pregledal in poskusil pa sem že vse kaj najde google. Zaenkrat sem rešil takole.
index.jsp
v Ini_conn pa imam setterje in getterje za appPath. Zadeva deluje tako na polovico. prvič ko zaženem tomcat, dobim null, ko pa pobriem cookie, in reloadam stran dobim pravo vrednost.
končno vprašanje je torej kako v class-u dobim absolutno pot do aplikacije preden se izvedejo construktorji (tam namreč naložim konf. datoteke)? Rad bi vse skupaj izvedel v class-u, da ne rabim nastavljati property-jev.
Hvala vsem za pomoč.
getServletContext().getRealPath( "/" );
Ampak tega nikakor ne morem implementirati v class. Vedno mi vrne null, pregledal in poskusil pa sem že vse kaj najde google. Zaenkrat sem rešil takole.
index.jsp
<jsp:useBean class="Ini_conn" id="login" scope="session"> <jsp:setProperty name="login" property="appPath" value="<%= getServletContext().getRealPath( \"/\" ) %>" /> </jsp:useBean>
v Ini_conn pa imam setterje in getterje za appPath. Zadeva deluje tako na polovico. prvič ko zaženem tomcat, dobim null, ko pa pobriem cookie, in reloadam stran dobim pravo vrednost.
končno vprašanje je torej kako v class-u dobim absolutno pot do aplikacije preden se izvedejo construktorji (tam namreč naložim konf. datoteke)? Rad bi vse skupaj izvedel v class-u, da ne rabim nastavljati property-jev.
Hvala vsem za pomoč.
Baja ::
če koga zanima. nekako mi je uspelo, čeprav nisem čisto prepričan kako deluje :)
prvo rabimo en class, ki posluša http session. ko se kreira session lahko dobimo absolutno pot, kje je session kreiran.
MySessionListener.java
MyClass.java - tule rabimo absolutno pot. ta class extenda MySessionListener in tako pridemo do absolutne poti
na koncu pa še dodamo v web.xml pod <web-app> spodnje, torej naš listener, ki ob štartu tomcata(?), nastavi absolutno pot do aplikacije.
prvo rabimo en class, ki posluša http session. ko se kreira session lahko dobimo absolutno pot, kje je session kreiran.
MySessionListener.java
package pck; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MySessionListener implements HttpSessionListener{ /** absolutna pot do aplikacije */ private static String jspPath; /** seja zagnana - nastavi absolutno pot */ public void sessionCreated(HttpSessionEvent se){ jspPath = se.getSession().getServletContext().getRealPath( File.separator ); } /** seja uničena */ public void sessionDestroyed(HttpSessionEvent se){ } /** vrne absolutno pot */ public static String getJspPath() { return jspPath; } }
MyClass.java - tule rabimo absolutno pot. ta class extenda MySessionListener in tako pridemo do absolutne poti
package pck; import pck.MyListener; public class MyClass extends MySessionListener{ /** absolutna po do aplikacije */ public static String appPath = getJspPath(); public MyClass(){ File f = new File( this.appPath + "karkoli/ker/vemo/kje/smo/"); } }
na koncu pa še dodamo v web.xml pod <web-app> spodnje, torej naš listener, ki ob štartu tomcata(?), nastavi absolutno pot do aplikacije.
<listener> <listener-class> pck.MySessionListener </listener-class> </listener>
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [java]problem z ThrowsOddelek: Programiranje | 1602 (1131) | killa bee |
» | android črtaOddelek: Programiranje | 2399 (1670) | g333kk |
» | [Java] Zasnova shoot em up igreOddelek: Programiranje | 1195 (874) | PecenkA |
» | Vprašanje iz JaveOddelek: Programiranje | 1144 (884) | illion |
» | tomcat in datasourceOddelek: Programiranje | 1998 (1755) | infiniteLoop |