Возникла исключительная ситуация при обработке searchresults.jsp

0

Я переношу клиентское приложение со старой виртуальной машины Tomcat, размещенной на Windows Server 2012 R2, на новую виртуальную машину CentOS 7 после того, как первая подверглась атаке вымогателей. Моя проблема возникает, когда я пытаюсь использовать функцию поиска, которая запрашивает локальную MySQL данных MySQL. Мои знания по SQL ограничены, поэтому я буду признателен за любую помощь, которую я могу получить от вас, мудрых и опытных программистов. Вот ошибка, с которой я сталкиваюсь:

Изображение 174551

Из searchresults.jsp ссылочные строки:

<!--    Find Diacritic Terms            -->
<c:set var="dsqlstatement">
        SELECT *
        FROM diacritic_map
        WHERE alternate LIKE '%<%= t %>%'
</c:set>

<sql:query var="rs_diacritics" dataSource="jdbc/balanchine">
        ${dsqlstatement}
</sql:query>

Я проверил и проверил, что соединение с базой данных работает, так что это, вероятно, проблема с самим оператором SQL, верно? Ну, я проверил на рабочем сервере, и выражение было действительно таким же и функциональным, так что теперь у меня заканчиваются идеи. Я использую MySQL версии 8.0.15, Tomcat версии 9.0.16 и Java версии 1.8.0_191, если эта информация полезна.

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

Изменить 1: Спасибо за рекомендацию @Selaron Вот полная трассировка стека

Изображение 174551

Редактировать 2: Спасибо, @vancleff. Вот пример приложения, которое я модифицировал для проверки соединения с базой данных. Я все еще сталкиваюсь с ошибкой, но теперь она другая, так как я поместил файл mysql-connector-java-5.0.x-bin.jar в папку lib webapp, как вы советовали. Это помогло с последней ошибкой, но теперь я все еще получаю нечто подобное. Также выяснилось, что во всех этих файлах все еще имеются окончания строк Windows, поэтому я запустил dos2unix в каталоге webapp. Спасибо за указание на это!

Изображение 174551

<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<html>
<head>
<title>Sample Application JSP Page</title>
</head>
<body bgcolor=white>

<table border="0">
<tr>
<td align=center>
<img src="images/tomcat.gif">
</td>
<td>
<h1>Sample Application JSP Page</h1>
This is the output of a JSP page that is part of the Hello World application.
</td>
</tr>
</table>

<%= new String("Hello!") %>

<h1>Connection Status</h1>
<% 
try{
    String connectionURL = "jdbc:mysql://localhost:3306/DatabaseName-REDACTED";
    Connection connection = null;
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    connection = DriverManager.getConnection(connectionURL, "User-REDACTED", "Password-REDACTED");
    if(!connection.isClosed())
            out.println("Successfully connected to " + "MySQL server using TCP/IP...");
            connection.close();
    }catch(Exception e){
            out.println("Unable to connect to database.\n"+e);
    }%>
</body>
</html>

Новая ошибка: Изображение 174551Изображение 174551

  • 0
    Проверьте это
  • 0
    Пожалуйста, отредактируйте ваш вопрос и добавьте полную трассировку стека. Трассировка стека из файла журнала может быть более полной, чем та, что представлена в браузере.
Теги:
jsp
tomcat

1 ответ

0

Загрузите mysql-connector.jar отсюда и добавьте его в свой путь к классам. Еще одна вещь, которую нужно добавить

  <sql:setDataSource  var="datasrc"   driver="com.mysql.jdbc.Driver" 
                            url="jdbc:mysql://localhost:3306/dbname"

                            user="root"
                            password="pass"
                            />
    <sql:query var="rs_diacritics" dataSource="${datasrc}">
        ${dsqlstatement}
    </sql:query>

Похоже, вы не добавили mysql jar в путь к классам и неправильно инициализировали источник данных. Кроме того, не забудьте загрузить текстовые журналы, а не фотографии/скриншоты. Они не читаются :)

Также вставьте jar в lib и добавьте в classpath:

WebContent
         |
         |__WEB-INF
                  |
                  |__lib
                       |
                       |__mysql-connector-java-5.0.x-bin.jar
  • 0
    Спасибо за ваш ответ! К сожалению, мне потребовалось целое время, чтобы ответить, но я предварительно загрузил соединитель, добавил его в мой путь к классам и протестировал его, изменив пример приложения "Hello World". Я отредактирую оригинальный пост с кодом и скриншотом. Спасибо за ваше предложение, хотя! Я думаю, что мы сужаем суть проблемы.
  • 0
    Кроме того, я на самом деле не говорил этого, но источник данных фактически установлен в том же файле, что и оператор sql, как вы описали. Между этим и утверждением, которое выводит исключение, лежит много кода, поэтому я не хотел публиковать много ненужной информации. Еще раз спасибо, что нашли время, чтобы помочь :)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню