Возникла исключительная ситуация при обработке searchresults.jsp - PullRequest
0 голосов
/ 27 февраля 2019

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

Error message

Начиная с 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 Вот полная трассировка стека

stacktrace

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

db connection test

<%@ 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>

Новая ошибка: enter image description here enter image description here

1 Ответ

0 голосов
/ 01 марта 2019

Загрузите 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 в путь к классам и не сделали этогоправильно инициализируйте источник данных.Кроме того, не забудьте загрузить текстовые журналы, а не фотографии / скриншоты.Они не читаются:)

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

WebContent
         |
         |__WEB-INF
                  |
                  |__lib
                       |
                       |__mysql-connector-java-5.0.x-bin.jar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...