PDA

View Full Version : JSP e Tomcat


adalucio
21-09-2006, 12:37
ciao a tutti

quando lancio la mia pagina ottengo il seguente errore:

Si è verificato l'errore Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.security.AccessControlException MESSAGE: access denied (java.net.SocketPermission sarasini.homelinux.org resolve) STACKTRACE: java.security.AccessControlException: access denied (java.net.SocketPermission sarasini.homelinux.org resolve) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264) at java.security.AccessController.checkPermission(AccessController.java:427) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.SecurityManager.checkConnect(SecurityManager.java:1031) at java.net.InetAddress.getAllByName0(InetAddress.java:1117) at java.net.InetAddress.getAllByName0(InetAddress.java:1098) at java.net.InetAddress.getAllByName(InetAddress.java:1061) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:137) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:284) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2565) at com.mysql.jdbc.Connection.(Connection.java:1485) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:193) at org.apache.jsp.index_jsp._jspService(index_jsp.java:82) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:272) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245) at org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:50) at
.....

Cosa può essere?
Ho letto in giro che bisogna settare dei privilegi nel file java.policy ma non ho capito cosa devo scrivere....

potete aiutarmi?
grazie

:confused: :confused: :confused:

kingv
21-09-2006, 13:34
stai facendo partire tomcat con l'opzione -security ?
oppure l'hai configurato per ascolare sulla porta 80 e lo lanci non da root?

adalucio
21-09-2006, 13:38
stai facendo partire tomcat con l'opzione -security ?
oppure l'hai configurato per ascolare sulla porta 80 e lo lanci non da root?

tomcat (versione 5) parte da root e ascolta sulla porta 8180

ho provato a farlo partire con il comando:

sudo /etc/init.d/tomcat5 start -security

ma l'errore rimane...

texerasmo
21-09-2006, 15:07
Stai usando tomcat gia preinstallato?
Se non ti trovi usa una versione che scarichi dal sito di jakarta

http://tomcat.apache.org/tomcat-5.5-doc/index.html
Questa è un ottima versione.

Poi per installare è molto semplice devi solamente configurare la JAVA_HOME

esempio
JAVA_HOME=/usr/local/j2sdk1.4.2_01


per farlo partire crei un un utente tomcat e fai

/usr/local/tomcat/bin/startup.sh


per buttarlo giù
/usr/local/tomcat/bin/shutdown.sh

adalucio
21-09-2006, 15:11
Stai usando tomcat gia preinstallato?
Se non ti trovi usa una versione che scarichi dal sito di jakarta

http://tomcat.apache.org/tomcat-5.5-doc/index.html
Questa è un ottima versione.

Poi per installare è molto semplice devi solamente configurare la JAVA_HOME

esempio
JAVA_HOME=/usr/local/j2sdk1.4.2_01


per farlo partire crei un un utente tomcat e fai

/usr/local/tomcat/bin/startup.sh


per buttarlo giù
/usr/local/tomcat/bin/shutdown.sh


la verione di tomcat che utilizzo l'ho installata con apt-get, quindi penso
sia affidabile...

:confused: :confused:

kingv
21-09-2006, 15:12
sudo /etc/init.d/tomcat5 start -security



togli il -security e vedi se parte.

adalucio
21-09-2006, 15:15
togli il -security e vedi se parte.

con

/etc/init.d/tomcat5 start

tomcat parte, ma quando cerco di eseguire la pagina mi da errore

texerasmo
21-09-2006, 15:33
sempre lo stesso?

adalucio
21-09-2006, 15:34
sempre lo stesso?

si

texerasmo
21-09-2006, 15:59
Tu sei sicuro che non parte 80? come ha detto kingv

Prova a cambiare porta, devi modificare il file server.xml

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port specified
during installation -->
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />

E' la prima colta che fai partire Tomcat?

Oppure protrebbe essere qualche tua applicazione sotto webb-app o qualche modifica al server.xml errata.

adalucio
21-09-2006, 18:15
Tu sei sicuro che non parte 80? come ha detto kingv

Prova a cambiare porta, devi modificare il file server.xml

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port specified
during installation -->
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />

E' la prima colta che fai partire Tomcat?

Oppure protrebbe essere qualche tua applicazione sotto webb-app o qualche modifica al server.xml errata.


la porta è la 8180 di default.

altre applicazioni di tomcat funzionano.

questa è l'unica che utilizza mysql... ed è l'unica che da errore.
il server mysql funziona correttamente.

dal messaggio di errore sembra che sia un problema di sicurezza


:confused: :confused:

texerasmo
22-09-2006, 10:38
se tu fai localhost:8180 vedi tomcat?
Se in caso non lo vedi...
togli da webapps la tua applicazione e riprova a far partire tomcat.
Se è tutto ok dopo questo passo prova a vedere cosa fa la tua applicazione.

Tu sei sicuro di non aver toccato il server.xml?

fammi sapere

adalucio
22-09-2006, 11:48
se tu fai localhost:8180 vedi tomcat?
Se in caso non lo vedi...
togli da webapps la tua applicazione e riprova a far partire tomcat.
Se è tutto ok dopo questo passo prova a vedere cosa fa la tua applicazione.

Tu sei sicuro di non aver toccato il server.xml?

fammi sapere


in localhost:8180 tomcat funziona correttamente.

ho provato altre applicazioni e funzionano.

questa che mi da errore è l unica applicazione che si appoggia
ad un database mysql (ho controllato, il server mysql funziona).


:confused: :confused: :confused:

texerasmo
22-09-2006, 14:08
fammi capire non funziona un pagina jsp quando tenta di connettersi al db?
Controlla se il databse che utilizzi accetta le connessioni da 127.0.0.1

Fai partire un pool di connessioni?
e metti un index.html con ciao mondo nella tua applicazione lo vedi?

adalucio
22-09-2006, 15:27
fammi capire non funziona un pagina jsp quando tenta di connettersi al db?
Controlla se il databse che utilizzi accetta le connessioni da 127.0.0.1

Fai partire un pool di connessioni?
e metti un index.html con ciao mondo nella tua applicazione lo vedi?

la pagina jsp che si connette al db restituisce l'errore che ho scritto
nel primo post.
le alre pagine che non usano il db funzionano correttamente.

il mysql server funziona ed è settato correttamente...

:confused: :confused: :confused:

texerasmo
22-09-2006, 15:33
tu con un client database ti connetti al tuo server mysql.
Controlla i parmantri per la connessione allora.

adalucio
23-09-2006, 09:19
tu con un client database ti connetti al tuo server mysql.
Controlla i parmantri per la connessione allora.

i parametri di connessione al db sono corretti e il server mysql funziona...

io non me ne intendo molto, ma non è che forse devo modificare
qualcosa nel file java.policy ?


:confused: :confused: :confused: