我正在尝试使用Roo中最新的GWT集成开发Spring Roo/GWT应用程序.
让脚手架工作是非常简单的,但我真的不明白RPC如何在那里工作.
有人可以提供一个简单的例子,说明如何在Spring Roo和GWT中连接客户端/服务器.
一开始会非常有帮助,因为我找不到任何资源.
thx&respect,Flo
通过查看GWT示例应用程序和RPC教程,可以使用以下包约定:
./client/GreetingService.java
./client/GreetingServiceAsync.java
./server/GreetingServiceImpl.java
Run Code Online (Sandbox Code Playgroud)
尽管GWT文档在最佳实践方面非常稀疏,但在运行时将哪些组件包括在其中,但显而易见的直觉是:
这将导致一个相信该代码client应该不上的javac编译时源路径。然而,由于GreetingServiceImpl实现了GreetingService,显然client在编译过程中,代码必须位于源路径上,并在部署时包含在运行时类路径中。
鉴于此,为什么GreetingService接口不进入shared?
如果尝试将其放入shared,则GWT Eclipse插件会抱怨“缺少异步接口” ...
我想定义一个SuggestBox,其行为类似于Google地图中的搜索栏:当您开始输入时,会出现以输入字母开头的真实地址.
我想,我需要使用Geocoder.getLocations(String address,LocationCallback回调)方法,但我不知道如何将它与oracle连接,这是建议框所需要的,以产生它的建议.
你能否告诉我如何将getLocations方法与SuggestOracle?
我假设GWT RPC实际上使用RequestBuilder.
有没有办法提取我的RPC服务异步请求程序使用的RequestBuilder实例?
实际上,我的问题是,如何提取RequestBuilder实例以将身份验证令牌作为http标头插入?有没有办法将HTTP标头插入RPC服务请求?
即使我可以在请求中插入一个http头,那么如何告诉远程servlet期望该身份验证令牌?因此,事实上,GWT RPC是否提供了安全身份验证的框架?
我认为答案是否定的,或者至少不是方便的.我对吗?
我使用RestEasy与RestyGWT结合使用SSL,我们可以随时插入标题.顺便说一下,RestyGWT构造了使用RequestBuilder的请求.
我的实际动机是比较GWT RPC和GWT JAX-RS(RestyGWT + RestEasy)之间的安全有效性.因此,如果您作为回答者,有一个替代的详细话语,比较RPC的安全有效性与直接使用RequestBuilder或REST(而不是直接回答这个问题),请随意详细说明.
我是否正确地假设GWT RPC不是安全友好/有效的,我应该避免使用GWT RPC来进行安全的身份验证请求?
我试图使用泛型创建单个服务,而不是创建一百个不同的GWT-RPC服务和serviceAsync类.这是界面:
@RemoteServiceRelativePath("dispatch")
public interface CommandService extends RemoteService
{
public <T> Result<T> execute(Command command, T target);
}
Run Code Online (Sandbox Code Playgroud)
这Command是所有我可以发出不同的命令,如枚举Login, Register, ChangePassword"等在服务器端,我有一个HashMap的Command作为重点,以及Executor类作为值.对于每一个Command我都有一个对应的Executor.Executor执行该操作,并在服务器端返回其返回值.
当我尝试CommandServiceAsync在客户端上创建并尝试执行它时,会发生此问题.这是我的代码:
public enum Command
{
LOGIN,
REGISTER,
CHANGE_PW;
public <T> void execute(T target, final ResultReceiver<T> receiver)
{
CommandServiceAsync command = GWT.create(CommandService.class );
command.execute(this, target, new AsyncCallback<Result<T> >()
{
@Override
public void onFailure(Throwable caught)
{
MyProgram.handleFailure(caught);
}
@Override
public void onSuccess(Result<T> result)
{
receiver.receive( …Run Code Online (Sandbox Code Playgroud) 我正在使用GWT来创建我的网络应用程序.
从客户端(浏览器)进行RPC调用时,在inspect元素中,我的Request Payload如下:
7|0|8|https://xxxx.xxxx.in/TestProject/in.TestProject.Main/|87545F2996A876761A0C13CD750EA654|in.TestProject.client.CustomerClassService|check_User_Login|java.lang.String/2004016611|in.TestProject.Beans.CustomerBean/3980370781|UserId|Password|1|2|3|4|3|5|5|6|7|8|6|0|0|0|0|0|CustId|0|0|0|0|0|0|0|0|0|
Run Code Online (Sandbox Code Playgroud)
在此请求中,所有详细信息(如用户名,密码和custid)都显示在请求有效负载中.
我的问题是,是否可以编码或隐藏请求有效负载中的那些细节?
我和我的朋友想要开发一个大型的web2.0项目.我们决定用Java编写,因为我们喜欢它并且我们擅长它,我们将使用的其他库是用Java编写的(Apache Lucene,Apache Cassandra ...).我们选择GWT作为框架.我们喜欢谷歌,谷歌技术,谷歌apis.
我想问你认为GWT适合推出youtube,twitter,维基百科等大项目......?gwt-rpc机制在大项目中是否可靠?
我的GWT项目中有这个简单的对象.我不能通过电线发送它.将构造函数放在这样的类中是不可能的?
public class MceDto implements IsSerializable {
public MceDto(String uri, String tag) {
this.uri = uri;
this.tag = tag;
}
public String uri;
public String tag;
public Date created;
}
Run Code Online (Sandbox Code Playgroud)
我检查了*.gwt.rpc策略,对象不在那里意味着它不是可序列化的东西.如何预先知道是否可以序列化对象?
谢谢
我想读取文件的内容并将其存储在数组中。我有一个使用 formPanel 和 formupload 浏览文件的代码。
如何读取文件并存储在数组中。
任何示例代码都会有很大帮助。
我正在使用 GWT-RPC 来获取客户端数据,我的要求是解析有效负载以检索内部数据。我需要记录或保留这些数据以用于指标/监控目的。
我正在使用 Servlet Filter 来拦截 HTTP 请求。我可以看到请求看起来像这样 -
5|0|7|http://localhost:8080/testproject|
29F4EA1240F157649C12466F01F46F60|com.test.client.GreetingService|
greetServer|java.lang.String|myInput1|myInput2|1|2|3|4|2|5|5|6|7|
Run Code Online (Sandbox Code Playgroud)
是否有任何标准机制来解析这些数据?我担心编写自己的代码来解析这不是一个好的解决方案,因为当我们将自定义对象传递给 RPC 或从 RPC 传递自定义对象时,此请求有效负载将变得复杂,并且 GWT-RPC 内部解析机制将来可能会发生变化,这可能会破坏我的代码。我遇到了这个,但不确定它是否强大/维护。
还有其他选择吗?任何指示将不胜感激。
gwt ×10
gwt-rpc ×10
java ×3
client-side ×1
generics ×1
google-maps ×1
gwt2 ×1
rest ×1
spring-roo ×1