Проблема получения коннекта к mysql из jsp.

Все о программировании под *nix
vi_ki_ng
Заглянувший
Сообщения: 11
Зарегистрирован: 17 авг 2008, 23:47

Проблема получения коннекта к mysql из jsp.

Сообщение vi_ki_ng »

Проблема следующая:
при взятии коннекта:

Код: Выделить всё

 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dortrans",connInfo);
tomcat постоянно пишет, что No suitable driver.
коннектор - mysql-connector-java-5.1.6-bin.jar (Connector/J)
класс находится нормально.
в окнах всё работает нормально

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: Проблема получения коннекта к mysql из jsp.

Сообщение leave »

Хм, а не вот это ли нужно? А то меня смущают циферки 5.1.6 в названии.

vi_ki_ng
Заглянувший
Сообщения: 11
Зарегистрирован: 17 авг 2008, 23:47

Re: Проблема получения коннекта к mysql из jsp.

Сообщение vi_ki_ng »

Следующий эксепшен... походу надо что-то прописать в catalina.policy вот только что?
(да и если я туда что-нить пишу, после рестарта томката файл перезаписывается.) как быть?

Код: Выделить всё

Unable to connect to any hosts due to exception: java.net.SocketException: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve) ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve) STACKTRACE: java.net.SocketException: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:225) at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805) at com.mysql.jdbc.Connection.(Connection.java:452) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:171) at com.brain.web.cont.init(cont.java:103) at org.apache.jsp.index_jsp._jspService(index_jsp.java:74) 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.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 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:177) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) ** END NESTED EXCEPTION ** 

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: Проблема получения коннекта к mysql из jsp.

Сообщение leave »

предлагаю простой тест:

Код: Выделить всё

import java.sql.*; 
import java.io.*;

public class ConnectionTest { 

  public static void main(String[] args) throws Exception { 
    Connection conn = null; 
    try { 
            String connectionURL ="jdbc:mysql://localhost:3306/test"; 
            Class.forName("com.mysql.jdbc.Driver").newInstance(); 
            out.println("before"); 
            con = DriverManager.getConnection(connectionURL,"user", "password"); 
            out.println("after");  
            con.close();
    } 
    catch (Exception e) { 
        e.printStackTrace();
    }
    finally { 
       if (conn != null) conn.close(); 
    } 
  } 
}
и его запустить из консоли

Код: Выделить всё

java ConnectionTest
потому что у меня есть подозрения, что это не томкат виноват, а мускуль.
если отработает нормально - тогда в %tomcat_home%/conf/catalina.policy вписать:

Код: Выделить всё

grant codeBase "file:${catalina.home}/webapps/<yourwebapp>/-" { 
      permission java.net.SocketPermission "127.0.0.1:3306", "resolve"; 
      permission java.net.SocketPermission "127.0.0.1:3306", "connect"; 
}
з.ы. за правильность кода не ручаюсь, писал по памяти :)

Аватара пользователя
padla
Заглянувший
Сообщения: 11
Зарегистрирован: 21 июл 2007, 23:45
Откуда: Minsk, Belarus

Re: Проблема получения коннекта к mysql из jsp.

Сообщение padla »

<offtop-mode>
Так вот они какие, белорусские админы...
</offtop-mode>

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: Проблема получения коннекта к mysql из jsp.

Сообщение leave »

padla, это ты про меня?
я томкат в связке с мускулем последний раз год назад видел :)

vi_ki_ng
Заглянувший
Сообщения: 11
Зарегистрирован: 17 авг 2008, 23:47

Re: Проблема получения коннекта к mysql из jsp.

Сообщение vi_ki_ng »

leave, ты на ник его посмотри) человеку поумничать хочется.
padla, тут не только админы

а по теме... смена коннектора помогла. все, что ты в последних постах писал, я пробовал и ранее, но из-за коннектора, видимо, не работало.

зы. конфигурить надо файлик, который в /etc/tomcat/policy.d ибо все остальные генерятся автоматом

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: Проблема получения коннекта к mysql из jsp.

Сообщение leave »

Это смотря какой дистр. Я подымал томкат всегда из бинарных пакетов с apache.org - ессно там не было /etc/tomcat/policy.d

vi_ki_ng
Заглянувший
Сообщения: 11
Зарегистрирован: 17 авг 2008, 23:47

Re: Проблема получения коннекта к mysql из jsp.

Сообщение vi_ki_ng »

ну у меня дебиан, а томкат из деба соответственно.
в общем вопрос закрыт. благодарю

vi_ki_ng
Заглянувший
Сообщения: 11
Зарегистрирован: 17 авг 2008, 23:47

Re: Проблема получения коннекта к mysql из jsp.

Сообщение vi_ki_ng »

думаю новую тему открывать нет смысла, ибо проблема скорее всего опять связана с политиками томката. что и где прописать, что бы получить доступ на запись файлов на сервере. т.е. нужна возможность аплода файлов на хостинг, а при любой попытке создать там файл вылетает эксепшн.

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: Проблема получения коннекта к mysql из jsp.

Сообщение leave »

А может, это просто пермишены ФС? Способ "в лоб":
chown -R :tomcat_group ./dir
chmod -R 775 ./dir

vi_ki_ng
Заглянувший
Сообщения: 11
Зарегистрирован: 17 авг 2008, 23:47

Re: Проблема получения коннекта к mysql из jsp.

Сообщение vi_ki_ng »

ненене. не прокатывает. если я пытаюсь писать на прямую через RandomAccessFile:

Код: Выделить всё

RandomAccessFile f = new RandomAccessFile(savepath+filename,"rw");
byte[] bytes = buffer.toByteArray();
f.write(bytes,0,bytes.length - 2);
f.close();
выдаёт

Код: Выделить всё

access denied (java.io.FilePermission /var/lib/tomcat5/webapps/postget/images/1.jpg write) 
Если же делаю через URL:

Код: Выделить всё

URL url = new URL("http://localhost:8080/postget/1.txt");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("POST");
OutputStream ops = conn.getOutputStream();
PrintWriter pw = new PrintWriter(ops);
pw.print("blablabla");  
pw.close(); 
conn.setDoOutput(false);
 conn.disconnect(); 
то эксепшенов не выдаётся(прописал политики) но и файл не создаётся

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: Проблема получения коннекта к mysql из jsp.

Сообщение leave »

vi_ki_ng, а пермишены на папки все-таки какие стоят?
от себя рекомендую файлы лить на хост с помощью apache.commons.fileupload

vi_ki_ng
Заглянувший
Сообщения: 11
Зарегистрирован: 17 авг 2008, 23:47

Re: Проблема получения коннекта к mysql из jsp.

Сообщение vi_ki_ng »

775... . всё таки это томкат не пускает, имхо.
можно какой-нить примерчик использования apache.commons.fileupload?

vi_ki_ng
Заглянувший
Сообщения: 11
Зарегистрирован: 17 авг 2008, 23:47

Re: Проблема получения коннекта к mysql из jsp.

Сообщение vi_ki_ng »

попробовал с apache.commons.fileupload.
эффект тот-же:

Код: Выделить всё

access denied (java.io.FilePermission /upload__37e7e819_11bef7e0b23__8000_00000008.tmp write) 

Ответить