» »

[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
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
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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[java]problem z Throws

Oddelek: Programiranje
221580 (1109) killa bee
»

android črta

Oddelek: Programiranje
412378 (1649) g333kk
»

[Java] Zasnova shoot em up igre

Oddelek: Programiranje
111174 (853) PecenkA
»

Vprašanje iz Jave

Oddelek: Programiranje
71129 (869) illion
»

tomcat in datasource

Oddelek: Programiranje
131969 (1726) infiniteLoop

Več podobnih tem