#java #mysql #html
#java #mysql #HTML
Вопрос:
У меня есть база данных mysql с таблицей из 5 столбцов.
Теперь мне нужно получить эти данные из этой таблицы базы данных и просмотреть их в html-файле (с заголовками таблиц и их содержимым) с использованием Java.
Пожалуйста, помогите мне с некоторыми ссылками на руководство.
Заранее спасибо!
Ответ №1:
Просто следуйте инструкциям:
- Установите MySQL и создайте базу данных для своего приложения.
- Получите MySQL connector jar.
- Выполните небольшое кодирование, чтобы подключиться к MySQL db на вашей странице JSP или в servlet.
- Выполните запрос в db и извлеките соответствующие данные.
- Отобразить эти данные в 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.