Этот вопрос касается правильной архитектуры, использующей JSP в качестве контроллера для ExtJS.
Я довольно новичок в разработке на стороне сервера, но я довольно хорошо знаком с ExtJS 4 и ежедневно совершенствуюсь с Java и SQL.
Я пытаюсь создать контроллер JSP для записи данных из хранилищ в ExtJS.У меня есть база данных MSSQL и Tomcat, работающие на сервере.
Я успешно создал JSP (sqlData.jsp), который читает из базы данных и возвращает данные JSON.Я передаю имя запроса в эту JSP, затем он ищет, что запрос из таблицы «запроса» (столбцы: [query_id],[query_name],[query]
).Затем он выполняет запрос и возвращает данные в формате JSON - это нормально работает для получения данных в ExtJS из базы данных.
Чтобы использовать эту настройку бэкэнда, я обычно настраиваю хранилище следующим образом:
var store = Ext.create('Ext.data.Store', {
model: 'aModel',
proxy: {
type: 'ajax',
url: 'sqlData.jsp?queryName=aQueryName',
reader: 'json'
},
autoLoad: true
});
Почему-то мне нужен этот sqlData.jsp, чтобы также обрабатывать вызов store.save()
из среды ExtJS,Это означает, что JSP должен получить запрос POST, а затем выполнить обновление, основанное на куче данных JSON (ExtJS отправляет запрос на чтение в виде GET, а методы записи, такие как store.save()
, являются POST).
Мой план состоял в том, чтобыдобавьте что-нибудь в Java, чтобы узнать, является ли это запросом POST или GET.Затем, если это запрос POST, я бы отправил его другому методу Java в JSP, чтобы проанализировать JSON и записать его в базу данных.
Конечно, мне пришлось бы изменить свою таблицу «запросов», чтобы иметь другой столбец для операторов обновления / вставки, связанных с тем же именем запроса (т. Е. [query_id],[query_name],[select_query],[update_query]
).
Имеет ли эта внутренняя реализацияиметь смысл?
Кто-нибудь еще использует JSP и ExtJS для достижения этого сглаживания?
Я заметил, что есть параметр конфигурации api
, который я могу установить в моем прокси-сервере для указания различных URL-адресов для различных операций (READ, ЗАПИСАТЬ, УДАЛИТЬ и т. Д.).Должен ли я создать отдельный JSP и вместо этого направлять все запросы на запись, используя эту конфигурацию?
Было бы разумнее добавить конфигурацию writer: 'json'
на прокси, чтобы она анализировала перед POSTING?Я подумал, что мне придется разбирать его в JSP в любом случае, поэтому я не думал, что должен.
Любые указатели будут высоко оценены.