Несколько сервлетов запросафакторных для одного приложения GWT
-
26-10-2019 - |
Вопрос
Можно ли это иметь? И как этого можно достичь?
Мотивация-я хочу одну защищенную (SSL) службу для предоставления пользователя (пароли ...) и одну небезопасную.
Решение
Эшвин Десикан ответил на мой вопрос на http://code.google.com/p/google-web-toolkit/
Цитировать:
Гилад, у вас может быть несколько запросов. Проверьте пример ниже. Если вы посмотрите на это внимательно, у меня есть другое картирование URL. Вам придется определить отдельные перевозки запросов, чтобы быть связанным с картированием URL в вашем клиенте.
Кроме того, вам придется управлять операциями, обнаруженными каждым из запросов в вашем клиенте. У вас всегда может быть базовая фабрика, где вы можете предоставить общие функции и перемещать только защищенные в SecuredRequestFactory
Я бы порекомендовал с этим подходом, прежде чем использование requestFactories проверяет ваш код, чтобы определить, регистрируется ли пользователь. Если войти в систему использование безопасного сервлета для всех запросов.
пример ;
*web.xml *
<filter>
<filter-name>AuthFilter</filter-name>
<filter-class>com.example.server.gae.GaeAuthFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthFilter</filter-name>
<servlet-name>authRequestFactory</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>authRequestFactory</servlet-name>
<servlet-class>com.google.web.bindery.requestfactory.server.RequestFactoryS ervlet</servlet-class>
</servlet>
<servlet>
<servlet-name>unAuthRequestFactory</servlet-name>
<servlet-class>com.google.web.bindery.requestfactory.server.RequestFactoryS ervlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>unAuthRequestFactory</servlet-name>
<url-pattern>/unsignedRequest</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>authRequestFactory</servlet-name>
<url-pattern>/signedRequest</url-pattern>
</servlet-mapping>
клиент
*//AuthenticatedRequestTransport*
public class AuthenticatedRequestTransport extends DefaultRequestTransport {
/**
* default constructor.
*
*/
public AuthenticatedRequestTransport() {
super();
//set the url
String requestURL = GWT.getHostPageBaseURL() + "signedRequest";
setRequestUrl(requestURL);
}
}
*//Un-Authenticated Request*
public class UnAuthenticatedRequestTransport extends
DefaultRequestTransport {
public UnAuthenticatedRequestTransport() {
super();
//set the url
String requestURL = GWT.getHostPageBaseURL() + "unsignedRequest";
setRequestUrl(requestURL);
}
}
С уважением Эшвин