#!/bin/sh
export......
Подключение к MySQL из JSP
Сервер на Линуксе, пытаюсь подключиться с клиентской машины.
Вот код подключения к MySQL
...
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://10.1.1.1:8443/test?user=r,password=g");
...
При открытии этого файла пишет ошибку
javax.servlet.ServletException: in class org.eclipse.jdt.internal.compiler.CompilationResult
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.17.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.17.jar.so)
java.lang.NoSuchMethodError: in class org.eclipse.jdt.internal.compiler.CompilationResult
java.lang.Object.throwNoSuchMethodError(libgcj.so.7rh)
org.apache.jasper.compiler.JDTCompiler$2.acceptResult(jasper5-compiler-5.5.17.jar.so)
org.eclipse.jdt.internal.compiler.Compiler.handleInternalException(Compiler.java:446)
org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:381)
org.apache.jasper.compiler.JDTCompiler.generateClass(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.JspCompilationContext.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServletWrapper.service(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServlet.serviceJspFile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.17.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.17.jar.so)
Помогите плз подключиться к MySQL. Возможно порт или айпишник неправильные.
За ранее спасибо.
а там уже виднее будет
Я впервые пытаюсь настроить сервер, поэтому нельзя ли подробнее, что именно предлагаете
javax.servlet.ServletException: in class org.eclipse.jdt.internal.compiler.CompilationResult
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.17.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.17.jar.so)
java.lang.NoSuchMethodError: in class org.eclipse.jdt.internal.compiler.CompilationResult
java.lang.Object.throwNoSuchMethodError(libgcj.so.7rh)
org.apache.jasper.compiler.JDTCompiler$2.acceptResult(jasper5-compiler-5.5.17.jar.so)
org.eclipse.jdt.internal.compiler.Compiler.handleInternalException(Compiler.java:446)
org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:381)
org.apache.jasper.compiler.JDTCompiler.generateClass(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.JspCompilationContext.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServletWrapper.service(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServlet.serviceJspFile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.17.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.17.jar.so)
По теме:
Попробуй сначала написать простое консольное приложение, которое коннектится к этому серверу. Чтобы различить проблемы написания JSP и проблемы JDBC коннекта.
Ты вообще, пробовал подключаться обычным MySQL-клиентом?
<?# Адрес нашего MySQL сервера
$mysql_host = "localhost";
# Пользователь, который осуществляет соединение
$mysql_user = "r";
# Пароль для доступа к MySQL базе
$mysql_password = "g";
# Соединяемся с MySQL сервером
$mysql = mysql_connect($mysql_host, $mysql_user, $mysql_password)
or die("Could not connect: " . mysql_error());
if ($mysql)
{
echo "Hello ALL World!!!";
}
$dbname="test";
if (!@mysql_select_db($dbname, $mysql))
{
echo( "<P>В настоящий момент база данных не доступна, поэтому
корректное отображение страницы невозможно.</P>" );
exit();
}
// mysql_select_db("test",$mysql);
$ath = mysql_query("select * from ww;");
if($ath)
{
echo "<table border=1>";
echo "<tr><td>имя</td></tr>";
// Так как запрос возвращает несколько строк, применяем цикл
while($author = mysql_fetch_array($ath))
{
echo "<tr><td>".$author['w']." </td>></tr>";
}
echo "</table>";
// $author = mysql_fetch_array($ath);
// echo "<br>имя = ".$author['w']."<br>";
}
else
{
echo "<p><b>Error: ".mysql_error()."</b></p>";
exit();
}
# Закрываем соединение
mysql_close($mysql);
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at connect.main(connect.java:13)
javax.servlet.ServletException: in class org.eclipse.jdt.internal.compiler.CompilationResult
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.17.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.17.jar.so)
root cause
java.lang.NoSuchMethodError: in class org.eclipse.jdt.internal.compiler.CompilationResult
java.lang.Object.throwNoSuchMethodError(libgcj.so.7rh)
org.apache.jasper.compiler.JDTCompiler$2.acceptResult(jasper5-compiler-5.5.17.jar.so)
org.eclipse.jdt.internal.compiler.Compiler.handleInternalException(Compiler.java:446)
org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:381)
org.apache.jasper.compiler.JDTCompiler.generateClass(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.JspCompilationContext.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServletWrapper.service(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServlet.serviceJspFile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.17.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.17.jar.so)
МОЖЕТ ЧТО-ТО С НАСТРОЙКАМИ ТОМКАТА, У МЕНЯ УЖЕ КУЧА ЯВ РАЗВЕЛАСЬ НА СЕРВЕРЕ
Где это все поенять
[root@SERVER etc]# service tomcat5 restart
Stopping tomcat5: Starting tomcat5: /usr/bin/rebuild-jar-repository: error: Failed to set JAVACMD
/usr/bin/rebuild-jar-repository: error: Failed to set JAVACMD
/usr/bin/rebuild-jar-repository: error: Failed to set JAVACMD
/usr/bin/rebuild-jar-repository: error: Failed to set JAVACMD
Using CATALINA_BASE: /usr/share/tomcat5
Using CATALINA_HOME: /usr/share/tomcat5
Using CATALINA_TMPDIR: /usr/share/tomcat5/temp
Using JRE_HOME: /usr/java/default
[ OK ]
верни всё как было! :) у тебя JSP не компилится
Цитата: Mykle
В консольном приложении все заработало, оказалось я не туда JAR архив положил, а в JSP не работает пишет
javax.servlet.ServletException: in class org.eclipse.jdt.internal.compiler.CompilationResult
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.17.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.17.jar.so)
root cause
java.lang.NoSuchMethodError: in class org.eclipse.jdt.internal.compiler.CompilationResult
java.lang.Object.throwNoSuchMethodError(libgcj.so.7rh) <<<<<<<<<<
org.apache.jasper.compiler.JDTCompiler$2.acceptResult(jasper5-compiler-5.5.17.jar.so)
org.eclipse.jdt.internal.compiler.Compiler.handleInternalException(Compiler.java:446)
org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:381)
org.apache.jasper.compiler.JDTCompiler.generateClass(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.JspCompilationContext.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServletWrapper.service(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServlet.serviceJspFile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.17.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.17.jar.so)
МОЖЕТ ЧТО-ТО С НАСТРОЙКАМИ ТОМКАТА, У МЕНЯ УЖЕ КУЧА ЯВ РАЗВЕЛАСЬ НА СЕРВЕРЕ
javax.servlet.ServletException: in class org.eclipse.jdt.internal.compiler.CompilationResult
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.17.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.17.jar.so)
root cause
java.lang.NoSuchMethodError: in class org.eclipse.jdt.internal.compiler.CompilationResult
java.lang.Object.throwNoSuchMethodError(libgcj.so.7rh) <<<<<<<<<<
org.apache.jasper.compiler.JDTCompiler$2.acceptResult(jasper5-compiler-5.5.17.jar.so)
org.eclipse.jdt.internal.compiler.Compiler.handleInternalException(Compiler.java:446)
org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:381)
org.apache.jasper.compiler.JDTCompiler.generateClass(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.compiler.Compiler.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.JspCompilationContext.compile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServletWrapper.service(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServlet.serviceJspFile(jasper5-compiler-5.5.17.jar.so)
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.17.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.17.jar.so)
МОЖЕТ ЧТО-ТО С НАСТРОЙКАМИ ТОМКАТА, У МЕНЯ УЖЕ КУЧА ЯВ РАЗВЕЛАСЬ НА СЕРВЕРЕ
у тебя все равно испольуется GCJ. постав sun java как дефолтную java машину. или снеси gcj вообще (лучше поставить сановскую дефолтной. смотри доки к своему дистрибу)
Как поставить сановскую дефолтной, подскажите плз, я в этом деле еще новичек.
В Линуксе в командной строке ведь все сработало, значит получается что что-то не то с Томкатом. Помогите настроить
update-alternatives --config java
выдает только старую яву, хоть сам линукс уже работает с новой
думал может там выбрать, но в списке там только старая версия
но вообще, у тебя проблема не с базой. Jasper - это JSP компилятор. именно он у тебя и ругается, т.е. ошибка где-то в синтаксисе JSP или неправильно используешь какие-то теги
дело в том что я прбовал такой же пример на локальной машине с апачем и томкатом под виндой, там все работало.
заставь томкат пользовать сановскую java. как крайний случай - вообще снеси gcj (вряд ли тебе понадобятся несколько java машин, да и уж во всяком случае не gcj)
подскажите плз, как снести gcj и как потом настроить встроеный томкат на сановскую яву. Я сервер под Линукс первый раз настраиваю, да и сам сервер второй раз ставлю.
на команду service tomcat5 start пишет что все выполнено нормально, однако в списке процессов томкат не появляется, и вообще jsp не грузится.
как снести gcj - зависит от дистриба (но это давай на потом оставим)
log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.B
log4j:WARN Please initialize the log4j system properly.
sun.misc.InvalidJarIndexException: Invalid index
at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
at sun.misc.URLClassPath.getResource(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
содержимое файла setenv.sh
export JAVA_HOME=/usr/java/default
setenv.sh должен быть типа
Код:
и лучше ему не дефолтную java показать, а явно сановскую (что-то вроде /usr/java/sun-java-1.5/ ну или где она тама у тебя)
покажи весь лог томката. останови его, убей все логи, запусти, зайди на свою страницу и тогда покажи.
#!/bin/sh
export JAVA_HOME=/usr/java/jre1.6.0_07
вот лог томката
log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.Bootstrap).
log4j:WARN Please initialize the log4j system properly.
sun.misc.InvalidJarIndexException: Invalid index
at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
at sun.misc.URLClassPath.getResource(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:222)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
При попытке загрузки страницы пишет
Соединение было сброшено
Во время загрузки страницы соединение с сервером было сброшено.
ПОКАЗАЛ, ВСЕ ТО ЖЕ. Я использую томкат который был с дистрибутивом Линукса.
если у тебя вдруг CentOS, вот похожее обсуждение
Огромное спасибо, счас посмотрим что к чему. Только как Догадался что у меня Centos.
проост грабли похожие :) да и вообще, они, как оказалось довольно распространена