Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java EE (J2EE) и Spring > Как запустить MySQL в связке с Tomcat |
Автор: Mykle 4.7.2008, 13:58 |
У меня на Linux работает Tomcat и MySQL. В PHP подключился к базе и получил данные. А в JSP не получается <%@ page contentType="text/html; charset=windows-1251" %> <%@ page import ="java.net.*" %> <%@ page import ="java.sql.*" %> ... <% //Загружаем драйвер Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test?user=ttt,password=ee"); ... %> На строку "Connection conn = ..." - ругается, пишет следующее message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Unexpected exception encountered during query. org.apache.jasper.servlet.JspServletWrapper.handleJspException(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 cause javax.servlet.ServletException: Unexpected exception encountered during query. org.apache.jasper.runtime.PageContextImpl.doHandlePageException(jasper5-runtime-5.5.17.jar.so) org.apache.jasper.runtime.PageContextImpl.handlePageException(jasper5-runtime-5.5.17.jar.so) org.apache.jsp.inn_jsp._jspService(inn_jsp.java:116) org.apache.jasper.runtime.HttpJspBase.service(jasper5-runtime-5.5.17.jar.so) javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-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 cause java.sql.SQLException: Unexpected exception encountered during query. com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926) com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2581) com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1751) com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3425) com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2045) com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718) com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:298) com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282) java.sql.DriverManager.getConnection(libgcj.so.7rh) java.sql.DriverManager.getConnection(libgcj.so.7rh) org.apache.jsp.inn_jsp._jspService(inn_jsp.java:58) org.apache.jasper.runtime.HttpJspBase.service(jasper5-runtime-5.5.17.jar.so) javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-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) ПОМОГИТЕ ПЛЗ.!!! И за ранее спасибо всем, кто откликнется. |
Автор: Mykle 4.7.2008, 15:29 |
И что там качать, а то там много всего, но ничего интересного я так и не нашел, по подробней объясните пожалуйста что и по чем. |
Автор: Mykle 4.7.2008, 15:44 |
По предлоенной Вами ссылки закачал и установил, но как пользаться не известно, а обычный вариант не работает |
Автор: v2v 4.7.2008, 16:46 |
jdbc connector установил? |
Автор: _sten_ 9.7.2008, 11:14 | ||
Зачем newInstance() достаточно просто Class.forName("com.mysql.jdbc.Driver") |
Автор: EvgenZ 13.7.2008, 19:28 |
Предположение, а вот это - "root cause ", не ключевой ли момент ? ![]() |
Автор: Ulysses4j 14.7.2008, 00:31 | ||||||
Вот смотрю я книжку про 6-ой Tomcat и ничего там про традиционный десктопный путь Class.forName нет. Написано так. 1. Добавить в какой-нибудь context.xml (или в общий в /conf или в тот, который для вашего приложения, в /webapps/yourapp/META-INF) ресурс:
Тут надо многое подправить в соответствии с вашими установками. 2. В web.xml вашего приложения прописать:
3. На JSP писать:
Потом на странице можнго использовать переменную products, содержащую результат запроса. Естественно, как тут уже упоминали, нужен файл с классом-драйвером, его, я так понимаю, в lib можно кинуть (после этого сервер лучше перезапустить). Но вообще, конечно, дергать бызу из JSP, это мрак и пыхокодерство. |
Автор: w32blaster 19.1.2009, 17:29 | ||||||||||
Помогите, пожалуйста! Снова я воскрешаю старую тему. У меня проблема похожая: я установил все компоненты и самое любопытное, что если обратиться к базе через командную строку (а именно, сделать Ява приложение не как сервлет, выполнить простой запрос и вывести на екран через System.out.println и запустить в строке, скажем, #java test) то всё работат. Если вставить тот же код в сервлет и открыть через браузер, сказем, http://localhost:8180/sample/my, то выдаётся ошибка:
То есть косяк именно где-то в настройках TomCat - MySQL (ubuntu). Вот ключевые частки кода:
context.xml:
Остальное по-дефолту... web.xml
server.xml
Остальное всё как в туториалах - я скопировал mysql-connector /usr/share/tomcat5.5/common/lib/mysql-connector-java-5.1.7-bin.jar classpath: /usr/share/java/servlet-api.jar:/usr/share/java/servlet-2.3.jar:/usr/lib/jvm/java-6-sun-1.6.0.06/lib/mysql-connector-java-5.1.7-bin.jar:. Что ещё забыл?... Вот. Помогите, пожалуйста! Уже которые сутки мучаюсь... Может, кто сталкивался с такой проблемой... |
Автор: skhilkov 21.1.2009, 07:31 | ||
Не совсем понял, Вы пытаетесь получить соединение вручную, хотя натсроили datasource.... Попробуйте так :
А ошибка, коотрую Вы привели, означает что по какой-то причине соединение не может быть установлено с базой. Именно нужно проверить правильность урла подключения, корректность данных пользователя... |
Автор: Samotnik 21.1.2009, 10:10 | ||
w32blaster, у тебя все данные для базы есть в context.xml вроде там все правильно я не пойму зачем вот тут
ты указываешь логин и пароль ? Это для базы или для твоего сервлета ? |