Java Security Manager

3 respostas
Aganiuipuque

Estou hospedando um site em uma famosa WebHosting e estou tendo o seguinte problema:

Eu consigo me conectar ao banco de dados somente instanciando as classes dentro do jsp atraves de scriptlets, o que é abominável!

Ao tentar implementar um classe que me dá a conexão, ou seja utilizar somente um instancia de classe, tipo… singleton, o TomCat me retorna um erro de proteção.

Acredito que o TomCat esteja configurado para não permitir isto.

Existe alguma maneira de utilizar uma conexao sem ter que “enfiar” codigo dentro do jsp quando o TomCat está configurado desta forma?

3 Respostas

_fs

Qual erro de segurança ocorre? IO? Posta o stack trace pra gente :wink:

Aganiuipuque

type Exception report

message Internal Server Error

description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused

at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)

at org.apache.jsp.jsp3$jsp._jspService(jsp3$jsp.java:103)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)

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.access$000(ApplicationFilterChain.java:98)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)

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:2414)

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 xxxxxxxxxxValve.invoke(xxxxxxxValve.java:101)

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.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)

at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)

at java.lang.Thread.run(Thread.java:534)

root cause

java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused

at com.mysql.jdbc.Connection.createNewIO(Connection.java:1622)

at com.mysql.jdbc.Connection.(Connection.java:491)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)

at java.sql.DriverManager.getConnection(DriverManager.java:512)

at java.sql.DriverManager.getConnection(DriverManager.java:193)

at meupacote.Conecta.OpenDB(Conecta.java:31)

at org.apache.jsp.jsp3$jsp._jspService(jsp3$jsp.java:69)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)

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.access$000(ApplicationFilterChain.java:98)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)

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:2414)

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 xxxxxxxValve.invoke(xxxxxxxValve.java:101)

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.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)

at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)

at java.lang.Thread.run(Thread.java:534)

Obs.: O nome do provedor foi subsituido por (“xxxxxxx”).

_fs

Tem certeza que a String de conexão está correta? Tem certeza que o MySql está rodando na máquina na qual está tentando se conectar? Já tentou se conectar com uma classe normal, fora de um servlet?

Procurei no google, e veio este resultado interessante:
http://forums.devshed.com/archive/t-139874
veja o reply do sylvain_neus

Caso não seja isso, todas as outras pessoas com o mesmo problema não haviam configurado a conexão corretamente ou o mysql não estava rodando:
http://www.google.com/search?hl=en&lr=&ie=UTF-8&q=tomcat+sqlexception+java.net.ConnectException%3A+Connection+refused+&btnG=Search

Criado 5 de setembro de 2004
Ultima resposta 8 de set. de 2004
Respostas 3
Participantes 2