Лучшая технология для Java основывала простой [закрытый] веб-сайт CRUD

Простое, но неэффективное решение см. В ответе @pasabaporaqui на Список рекурсивно всех файлов на sftp .


С вашим неясным ограничением единственное решение, которое использует одно соединение, будет:

  • открыть подпроцесс sftp в Python
  • последовательность подачи ls команды для него, по одной для каждого каталога
  • , синтаксический анализ списков каталогов, поступающих на стандартный вывод, производя больше команд ls для каждого найденного подкаталога.

6
задан Alan Moore 19 August 2011 в 09:44
поделиться

9 ответов

чаши Грааля, потому что Ваш рабочий процесс станет:

  1. Определите классы для своих Объектов области
  2. выполненные чаши Грааля генерируют - все

И у Вас будет очень простое Приложение типа CRUD, которое также может быть расширено на "реальное состояние приложения", не выводя все и запускающийся снова. CRUD в чашах Грааля занимает не больше, чем 5 минут. Для серьезного. Проверьте вводное учебное руководство Scott Davis.

16
ответ дан 8 December 2019 в 03:40
поделиться

simpliest приложение было бы простым сервлетом, обрабатывающим основанный на Java sql механизм (например, Derby (jabaDB) или HSQLDB)

Вы могли даже думать о CGI, записанном в Java.

4
ответ дан 8 December 2019 в 03:40
поделиться

направляющие на jruby или Grails. Да, это - другой язык, но их не трудно изучить, и стоит того.

1
ответ дан 8 December 2019 в 03:40
поделиться

Попробуйте токсикологию Oracle XE. Оба свободны. Токсикология является GPLv2. Это - архитектура MVC с помощью XSLT, JavaScript, и МН / SQL.

0
ответ дан 8 December 2019 в 03:40
поделиться

Вот очень простой стек Java Web, который я использовал в последнее время:

  • H2 базы данных
  • УСПОКОИТЕЛЬНАЯ маршрутизация Restlet

Restlets может быть выполнен в любом контейнере сервлета. Хотя они не работали хорошо в Simple или Winstone, они работали хорошо на меня в Причале.

Дополнительно, H2 мог быть объединен с Активными объектами для предоставления очень легкой персистентности, но я не попробовал это сам.

Если Ваш объем данных является небольшим, и Вы действительно хотите простой, почему не угробили rdbms в целом и используют Prevayler, давая полный стек, состоящий из просто Restlet и Prevayler?

0
ответ дан 8 December 2019 в 03:40
поделиться

Я предлагаю GWT (веб-инструментарий Google), хотя я никогда не играл с Grails.

С GWT Ваш клиент gui все записан в Java. Существует компилятор, который используется для создания версии JavaScript приложения. Таким образом, действительно легко создать простой GUI, который отражает Ваш объект. Когда пользователь нажимает "Save", объект получен на стороне сервера, готовой быть сохраненной. Затем просто используйте hibernate/JPA для сохранения объекта к базе данных.

Мы используем, чтобы иметь простой внутренний инструмент как этот к пользовательским правам менеджера. Администратор просто должен был проверить/снять флажок флажок. Вызов Ajax отправил бы обновленный объект на сервер, которые просто звонят, сохраняют () на быть в спящем режиме слое.

1
ответ дан 8 December 2019 в 03:40
поделиться

Я не рекомендую использовать фреймворк в вашем случае. Простой jsp / сервлет с jdbc должен работать.

Но, если вы все же решите использовать фреймворк, исходя из моего опыта использования Stripes, Struts1 и JSF (MyFaces), без колебаний рекомендую Stripes.

1
ответ дан 8 December 2019 в 03:40
поделиться

Чистое решение Java, основанное на гобелене, выедать Tynamo . Подходит для законопроекта, это просто, но расширяется, без лишнего пуха. Согласитесь с предыдущим комментарием, H2 является удивительной маленькой базой данных, и это то, что Tynamo использует по умолчанию

1
ответ дан 8 December 2019 в 03:40
поделиться

Ответ Джоша показывает, как легко создать один элемент в LINQ к XML... это не показывает, как также очень легко создать несколько элементов. Предположим, что имеется Список < Порядок > , называемый порядками ... можно создать весь документ так:

var xml = new XElement("Orders",
    orders.Select(order =>
        new XElement("Order",
            new XAttribute("OrderNumber", order.OrderNumber),
            new XElement("ItemNumber", order.ItemNumber),
            new XElement("QTY", order.Quantity),
            new XElement("Warehouse", order.Warehouse)
        ));
);

LINQ-XML делает создание XML невероятно простым. Он также имеет поддержку пространств имен XML, что также довольно легко. Например, если вы хотите, чтобы ваши элементы находились в определенном пространстве имен, вам просто нужно:

XNamespace ns = "http://your/namespace/here";
var xml = new XElement(ns + "Orders",
    orders.Select(order =>
        new XElement(ns + "Order",
... (rest of code as before)

LINQ в XML является лучшим API XML, с которым я работал... Это отлично для запроса тоже.

-121--2576219-

Вы никогда не хотите использовать sbrk вместо malloc или free . Он не является портативным и обычно используется только исполнителями стандартной библиотеки Си или в тех случаях, когда он недоступен. Он довольно хорошо описан на странице :

Описание

brk () устанавливает конец сегмента данных до значения, указанного end_data_segment, когда это значение разумно, система действительно имеет недостаточно памяти, а процесс не превысить максимальный размер данных (см. setrlimit (2)).

sbrk () увеличивает данные программы космос на приращение байтов. sbrk () не является системный вызов, это просто библиотека C обертка. Вызов sbrk () с помощью приращение 0 можно использовать для поиска текущее местоположение разрыва программы.

Возвращаемое значение

При успешном возврате brk () ноль, и sbrk () возвращает указатель на начало новой области. При ошибке, Возвращается значение -1, а значение errno равно ENOMEM.

Наконец, malloc и free не являются громоздкими - они являются стандартным способом выделения и освобождения памяти в C. Даже если вы хотите реализовать собственный распределитель памяти, лучше всего просто использовать malloc и free в качестве основы - общий подход состоит в том, чтобы выделить большой блок одновременно с malloc и обеспечить выделение памяти из него (это то, что обычно реализуют субаллокаторы или пулы)


Изменить происхождение имени sbrk (или его двоюродный брат brk ), это может иметь какое-то отношение к тому факту, что конец кучи отмечен указателем, известным как «разрыв». Куча начинается сразу после сегментов BSS и обычно растет к стеку.

-121--3894526-

Я бы использовал Grails, так как он идеально соответствует вашим требованиям. Я никогда не создавал простые сайты CRUD быстрее. Модель программирования полосок больше похожа на настроенный Struts - несколько неловко.

2
ответ дан 8 December 2019 в 03:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: