Нужна помощь о том, как извлечь данные из базы данных и записать их в HTML-файл с использованием Java?

#java #mysql #html

#java #mysql #HTML

Вопрос:

У меня есть база данных mysql с таблицей из 5 столбцов.

Теперь мне нужно получить эти данные из этой таблицы базы данных и просмотреть их в html-файле (с заголовками таблиц и их содержимым) с использованием Java.

Пожалуйста, помогите мне с некоторыми ссылками на руководство.

Заранее спасибо!

Ответ №1:

Просто следуйте инструкциям:

  1. Установите MySQL и создайте базу данных для своего приложения.
  2. Получите MySQL connector jar.
  3. Выполните небольшое кодирование, чтобы подключиться к MySQL db на вашей странице JSP или в servlet.
  4. Выполните запрос в db и извлеките соответствующие данные.
  5. Отобразить эти данные в JSP.

База данных MySQL в JSP: этот учебник может вам помочь.

Комментарии:

1. Он пока ничего не может повысить (репутация слишком низкая). И я думаю, это нормально, если он не примет ответ сразу…

2. @Sean: О.. Я этого не заметил.

Ответ №2:

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

Официальная документация MySQL по работе с Java находится по адресу http://dev.mysql.com/usingmysql/java / и есть несколько руководств.

Если вы не знакомы с JDBC, в официальном руководстве по Java есть раздел о JDBC по адресуhttp://download.oracle.com/javase/tutorial/jdbc

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

Ответ №3:

Вот несколько примеров кода, который создает HTML-таблицу из запроса JDBC. Используйте это как отправную точку:

 // insert your JDBC URL here
Connection connection = DriverManager.getConnection("jdbc:your-db-url");
// Edit this SQL Query so it makes sense
ResultSet resultSet = connection
                        .createStatement()
                        .executeQuery("select * from yourtable");
StringBuilder sb = new StringBuilder().append("<table>n");
int columnCount = resultSet.getMetaData().getColumnCount();
sb.append("<tr>n");
for(int n = 1; n <= columnCount; n  ){
    sb.append("t<th>")
      .append(resultSet.getMetaData().getColumnLabel(n))
      .append("</th>n");
}
sb.append("</tr>n");
while(resultSet.next()){
    sb.append("<tr>n");
    for(int n = 1; n <= columnCount; n  ){
        sb.append("t<td>")
          .append(resultSet.getString(n))
          .append("</td>n");
    }
    sb.append("</tr>n");

}
sb.append("</table>")
String table = sb.toString();
  

Комментарии:

1. Вам нужно экранировать данные, загруженные из базы данных.

2. @Thorbjorn Что это значит?

3. @Anu это означает, что ваша база данных может содержать все виды текста или разметки, которые выглядят странно в HTML.