对于Server包中的类来说,访问GWT中的Client包中的方法是否安全?

时间:2014-04-03 13:55:39

标签: gwt gwtp

好的,我是uisng GWTP,它有客户端,服务器&共享包。

我在客户端有一个Util类。

my.client.Util.java{
  public static String method1();
  //more methods here
}

在服务器中我有

my.server.GetDataActionHandler{
    ///Should I do like this
    String s=my.client.Util.method1();
}

这样做是否安全,或者我应该将Util放入共享包中,比如

my.shared.Util.java{
  public static String method1();
  //more methods here
}

如果我们将Util放入共享包中会有什么不同?是安全还是其他任何理由?

2 个答案:

答案 0 :(得分:6)

clientshared一样安全,这些只是名称和约定。

通过将您的班级放在client中,您将失去指示您也在服务器端使用它,而客户端特定的代码将无法运行。

通过将其放在shared中,您向自己发出信号,确保您在课堂上放置的代码可以有效地用于客户端和服务器。

答案 1 :(得分:0)

请在此处阅读GWT MVP atchitecture

在此处详细了解GWT Architectural Perspectives

从服务器端访问客户端代码将成为紧密耦合的代码。共享包用于此目的,但仍不适用于任何UI特定代码。共享包用于定义一些DTO(数据传输对象)和实用程序类。

在服务器端访问任何GWT UI特定实用程序类没有任何意义。

  

如果将来想要将服务器端类用于Swing应用程序或除GWT之外的任何其他Web应用程序,那么尝试以这种方式解耦代码,然后您可以轻松地将其合并。想一想。