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

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

0 голосов
/ 05 июня 2010

ОК, вот код:

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-апплет. Это возможно? (и безопаснее?)

Спасибо.

Ответы [ 2 ]

2 голосов
/ 05 июня 2010

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

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

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

1 голос
/ 05 июня 2010

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

  1. Вы можете иметь некоторую меру безопасности, поскольку сервлет может запрашивать учетные данные и разрешать только аутентифицированным пользователям доступ к базе данных.Вы даже можете добавить защиту на основе ролей, чтобы авторизованные пользователи могли выполнять определенные действия (например, только администраторы пишут в базу данных).
  2. Вы можете связать и проверить параметры запроса, прежде чем передать их обратно в базу данных.Добавьте к этому готовые операторы, и ваша база данных будет защищена от атак с использованием SQL-инъекций.
  3. Контейнер сервлета поддерживает пул потоков и назначает один поток на каждый входящий запрос.Ваше приложение сможет вместить больше пользователей, чем простое клиент-серверное приложение, которое ограничено числом соединений.
  4. Контейнер сервлета может поддерживать пул соединений с базой данных.Это поможет сделать ваше приложение более отзывчивым, поскольку распределяет стоимость создания соединения по всем запросам.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...