|
loadConfiguration() is called twice by tomcat -> exception: msg#00148jakarta.velocity.user
Hi, During startup tomcat 3.2.4 (velocity 1.2 ) the Method loadConfiguration() is called once. All stuff initialized very well. Wenn i try to call the servlet with http://localhost:8080/zerf the loadConfiguration() is called a second time, with a Nullpointer-Exc in Line String propsFile = config.getInitParameter(INIT_PROPS_KEY); (The whole code-sniplet is at the bottom of this Mail) Whats going wrong???? My Module is located in: tomcat_home/webapps/zerf/... The class is located in: tomcat_home/webapps/zerf/WEB-INF/classes/zerf/znSignController.class My web.xml: <web-app> <servlet> <servlet-name>zerf</servlet-name> <servlet-class>zerf.ZnSignController</servlet-class> <init-param> <param-name>properties</param-name> <param-value>conf\zerf_config.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file> index.jsp </welcome-file> <welcome-file> index.html </welcome-file> <welcome-file> index.htm </welcome-file> </welcome-file-list> </web-app> The loadConfiguaration Method: protected Properties loadConfiguration(ServletConfig config) throws IOException, FileNotFoundException { System.out.println("---------- Load ZERF Konfiguration: "); // web.xml auslesen: String propsFile = config.getInitParameter(INIT_PROPS_KEY); System.out.println("Reading Path from Propertie-File from web.xml: " + propsFile); /* now convert to an absolute path relative to the webapp root * This will work in a decently implemented servlet 2.2 * container like Tomcat. */ if (propsFile != null){ String realPath = getServletContext().getRealPath(propsFile); if (realPath != null) propsFile = realPath; } Properties p = new Properties(); try{ System.out.println("Load Properties from: " + propsFile); p.load(new java.io.FileInputStream(propsFile)); }catch (Exception e){ handleException(e, "Error while loading Properties"); } /* now, lets get the two elements we care about, the * template path and the log, and fix those from relative * to the webapp root, to absolute on the filesystem, which is * what velocity needs */ String path = p.getProperty(Velocity.FILE_RESOURCE_LOADER_PATH); if (path!=null){ path = getServletContext().getRealPath(path); p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path); } path = p.getProperty("runtime.log"); if (path != null){ path = getServletContext().getRealPath(path); p.setProperty("runtime.log", path); } System.out.println("Path to Templates: " + p.getProperty(Velocity.FILE_RESOURCE_LOADER_PATH)); System.out.println("Path to Log-File: " + p.getProperty("runtime.log")); System.out.println("-----------------------------------"); return p; } |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | RE: Performance tuning/improvements: 00148, David You |
|---|---|
| Next by Date: | Re: Performance tuning/improvements: 00148, Mailing Lists Account |
| Previous by Thread: | Performance tuning/improvementsi: 00148, Mailing Lists Account |
| Next by Thread: | generating rtf - create new page: 00148, Jan Vesely |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |