E ai galera?!
Seguinte:
Eu criei um projeto do tomcat no eclipse e numa das minhas classes eu precisava ler um arquivo .properties , quando eu chamo essa classe fora do tomcat eu consigo ler o . properties numa boa, mas quando eu acesso numa página jsp dá pau:
HTTP Status 404 - db.properties (O sistema não pode encontrar o arquivo especificado)
type Status report
message db.properties (O sistema não pode encontrar o arquivo especificado)
description The requested resource (db.properties (O sistema não pode encontrar o arquivo especificado)) is not available.
Apache Tomcat/4.1.30
a minha classe segue abaixo:
public class ConnectionFactory {
ConnectionFactory() {
}
public Connection getConnection(String banco) throws Exception {
Properties properties = getProperties();
Connection conn = null;
String pre = banco;
String driver = properties.getProperty(pre + ".connection.driver").trim();
Class driverClass = Class.forName(driver);
String url = properties.getProperty(pre + ".connection.url").trim();
String user = properties.getProperty(pre + ".connection.user").trim();
String pass = properties.getProperty(pre + ".connection.password").trim();
DriverManager.registerDriver((Driver) driverClass.newInstance());
conn = DriverManager.getConnection(url, user, pass);
return conn;
}
public Properties getProperties() throws IOException {
Properties prop = new Properties();
FileInputStream fis = new FileInputStream("db.properties");
prop.load(fis);
fis.close();
return prop;
}
}
qualquer ajuda é bem vinda…
Valew Galera!
Em que local vc está colocando o arquivo .properties.
ele tá dentro da pasta do meu projeto.
em q lugar c ta empacotando o db.properties!?
Ah, tenta carregar assim:
InputStream is = Thread.getCurrentThread().getClassContextLoader().getResourceAsStream("dn.properties");
para isso funcionar, o arquivo deve estar em META-INF/classes
Eu fiz o que vc me falou, precisei arrumar umas coisinhas mas agora o erro é outro:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:536)
root cause
java.lang.NullPointerException
at br.com.liveware.portalphihong.dao.ConnectionFactory.getProperties(ConnectionFactory.java:80)
at br.com.liveware.portalphihong.dao.ConnectionFactory.getConnection(ConnectionFactory.java:43)
at br.com.liveware.portalphihong.dao.MRPLiteDAO.getProdValues(MRPLiteDAO.java:55)
at br.com.liveware.portalphihong.dao.MRPLiteFacade.getProdValues(MRPLiteFacade.java:35)
at org.apache.jsp.mrp_0002dlite_jsp._jspService(mrp_0002dlite_jsp.java:60)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:536)
pelo que eu pude perceber o null pointer ta acontecendo pq não tá achando o db.properties
[quote=“darkseid”]em q lugar c ta empacotando o db.properties!?
[/quote]
quanto a empacotar, eu não entendi? :oops: Como assim empacotar?
O que eu preciso fazer?
Vc criou um tomcat project no eclipse o correto seria que seu arquivo properties ficasse enpacotado dentro da pasta web-inf/src, onde após ele ser compilado ele vai estar também na pasta classes.
Flw tudo WW…
Empacotar, Diego, eh zipar a sua aplicação e colocar a extensao war, ao invez de zip nela. Com isso, vc apenas copia esse WAR fie pra pasta de deploy do tomcat e ele se encarrega de “deployar” a aplicação