Ява - ПОСТ против JDBC

0

ОК, так вот код:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class Main {
    public static void main(String[] args)  {
        try {
            URL my_url = new URL("http://www.viralpatel.net/blogs/");
            BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream()));
            String strTemp = "";
            while(null != (strTemp = br.readLine())){
            System.out.println(strTemp);
        }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

Используя этот метод, я могу использовать методы POST и GET с использованием PHP-скриптов. Затем я могу использовать PHP-скрипты в базе данных MySQL, которая, в свою очередь, выводит обратно на java-апплет. Это возможно? (и безопаснее?)

Спасибо.

Теги:
jdbc
applet

2 ответа

1
Лучший ответ

У вас должен быть посредник между апплетом и базой данных. Если вы уже пишете Java, я бы поставил сервлет между ними. Он может обрабатывать запросы GET и POST, но есть и другие преимущества:

  • У вас может быть определенная степень безопасности, потому что сервлет может запрашивать учетные данные и разрешать доступ только к аутентифицированным пользователям. Вы даже можете добавить защиту на основе ролей, чтобы разрешенные пользователи могли выполнять определенные действия (например, только администраторы записывают в базу данных).
  • Вы можете связывать и проверять параметры запроса, прежде чем передавать их обратно в базу данных. Объедините это с подготовленными инструкциями, и ваша база данных будет более безопасной с помощью SQL-инъекций.
  • Контейнер сервлета поддерживает пул потоков и назначает один поток для каждого входящего запроса. Ваше приложение сможет размещать больше пользователей, чем простое приложение клиент/сервер, связанное С# соединением.
  • Контейнер сервлета может поддерживать пул соединений с базой данных. Это поможет сделать ваше приложение более отзывчивым, поскольку оно расширяет стоимость создания соединения по всем запросам.
  • 0
    Почему я не могу просто сделать, чтобы страница PHP выполняла работу mysql, а java-апплет отображал?
2

Определенно возможно подключиться к промежуточному script. Вы можете использовать apache http components для этой цели.

Вы не должны использовать JDBC из апплета для подключения к удаленной базе данных, поскольку кто-то будет читать учетные данные и "взломать" вашу базу данных.

Если вам нужен лучший подход с подобной идеей - создайте REST API.

  • 0
    Я бы предпочел использовать запросы POST и GET для подключения к моей базе данных MYSQL ... это хорошо, верно?
  • 2
    Вы не можете подключиться к MySQL через HTTP.

Ещё вопросы

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