Что Вы используете для клиента для связи сервера с GWT?

import a_module
print(a_module.__file__)

на самом деле даст Вам путь к .pyc файлу, который был загружен, по крайней мере, на Mac OS X. Таким образом, я предполагаю, что можно сделать:

import os
path = os.path.dirname(a_module.__file__)

можно также попробовать:

path = os.path.abspath(a_module.__file__)

Для получения каталога модуля.

7
задан topchef 21 July 2009 в 02:02
поделиться

2 ответа

В основном мы используем три метода связи:

  1. GWT-RPC - это наш основной и предпочтительный механизм, который мы используем по возможности. Это «способ GWT», и он работает очень хорошо.
  2. XMLHttpRequest с использованием RequestBuilder - это обычно для взаимодействия с серверными модулями, не относящимися к GWT, и мы используем его в основном для извлечения статического веб-контента, который нам нужно во время выполнения (что-то вроде серверной части). Это особенно полезно, когда нам нужно интегрироваться с CMS. Мы заключаем наш код RequestBuilder в настраиваемую «панель» (которая принимает URI контента в качестве параметра конструктора и заполняет себя содержимым URI).
  3. Отправка формы с использованием FormPanel - для этого также требуется взаимодействие с серверная часть без GWT (настраиваемый сервлет), и это то, что мы в настоящее время используем для межсайтовой связи. На самом деле мы не обмениваемся межсайтовым обменом данными как таковыми, но иногда нам нужно отправлять данные через SSL на страницу без SSL, и это единственный способ, которым мы могли это сделать до сих пор (с некоторыми взломами ).
10
ответ дан 7 December 2019 в 03:19
поделиться

Проблема в том, что вы используете веб-браузер, поэтому работа любого протокола, отличного от HTTP, практически не гарантируется (может не пройти через прокси).

Что вы можете сделать, так это изолировать материал GWT-RPC в одном заменяемом классе и удалить его как можно скорее.

Лично я просто полагаюсь на передачу коллекции объектов с информацией, которая мне нужна, закодированной внутри коллекции - -таким образом, кода RPC очень мало, потому что весь ваш код RPC когда-либо делает это "Collection commands = getCollection ()",

-1
ответ дан 7 December 2019 в 03:19
поделиться
Другие вопросы по тегам:

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