当前位置: 首页 > 知识库问答 >
问题:

用Java在多个应用程序之间传递数据[已关闭]

长孙知
2023-03-14

我有一个项目是由比我更有才华的人发起和策划的,我已经到了一个我不知道如何沟通的地步。

这是一个Java /JavaFX/SpringBoot项目,而不是Swing项目。我看到很多答案re: Swing。两个应用程序也在Gradle中设置,因此两个应用程序都有自己单独的./gradlew bootRun命令,并且在CentOS 7中运行。两个应用程序都有自己的,单独的,main()方法。我相信最初的设计是为了,有目的地,从GUI中删除对数据的任何访问,完全,这是分离的原因。我只是很难找到一种方法来来回传递必要的数据。

有一些单独的应用程序是为了协同工作而设计的<代码>**Kiosk**包含GUI元素和GUI相关控制器**Governor**包含API和应用程序。截至目前,API正在帮助实现源代码和文件接口。该应用程序包含一个H2数据库(全部存储在JSON文件中,但内容与这个特定问题无关)、一个用户包(包含提供H2数据库的用户数据)和一个源程序包(包含所有文件和方法)

我想做的是:

  • 获取用户在**Kiosk**级别提供的用户名密码,并以某种方式将其传递到**Governor**
  • 一旦我可以传递数据,我就知道如何做剩下的事情,检查数据库,验证用户是否有有效的凭据,等等。
  • 一旦我有了一个布尔值(让我们调用idvalidUser),我想将该信息从**Governor**传递回**Kiosk**,我可以从那里继续

我没有任何代码可以复制和粘贴,所以我希望上面的描述足以给我指明正确的方向。我试着到处搜索“在单独的java应用程序之间传递数据”、“单独的gui和逻辑java应用程序”,以及你能想到的一切,但我碰壁了。

我很乐意提供您可能需要的任何其他信息,并且我不寻找任何人为我编写代码,但如果您有任何您见过的示例,或者我可能不熟悉的概念可以帮助我来回传递这些数据,我会永远感激!

***编辑***尽我所能添加MVP。希望回答上面问题所需的一切都可以从下面收集到。

信息亭/登录控制器

@Component
public class LoginController extends Controller {
    @FXML
    TextField username;

    @FXML
    TextField password;

    @FXML
    Button loginButton;

    @FXML
    public void tryLogin() {
        UserServices userServices = new UserServices();
        String usernameEntered = username.textProperty().getValue();
        String passwordEntered = password.textProperty().getValue();
        userServices.validateUser(usernameEntered, passwordEntered);
        // ... other non-related methods re: tryLogin()
    }
}

信息亭/用户服务

public class UserServices {
    public boolean validateUser(String username, String password) {
        // **** How do I pass the args (username and password) to Governor?
        if (!userFound) {
            return false; // user not found, deny entry
        }
        return true; // allow entry
        }
    }
}

州长/API/FileEntry

注意:这个文件只是一个与KIOSK交互的API模块的示例——我不完全理解——同样,我尽我所能利用有限的资源;我相信我需要创建自己的API用户模块,但不确定如何继续)

@JsonDeserialize(as = DefaultFileEntry.class)
public interface FileEntry {
    Path getPath();
    boolean isDirectory();

    @JsonIgnore
    default Optional<String> getName() {
        if (getPath().getFileName() == null) {
            return Optional.empty();
        } else {
            return Optional.of(getPath().getFileName().toString());
        }
    }
}

调控器/APP/UserRepository

public interface UserRepository extends JpaRespository<User, String> {
    User findByUsername(String username);
}

调控器/应用程序/用户服务

@Service
public class UserService {
    private UserRepository userRepository;
    
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    // SQL methods to create database, if necessary, search, create, update, and delete users
}

共有1个答案

蒋鹏鹍
2023-03-14

有几种方法可以让应用程序相互共享数据:

  1. JMS、AMQ或其他一些消息传递系统
 类似资料:
  • 我有一个项目是由一个比我更有才华的人发起和策划的,我已经到了一个我不知道如何弥合的地步。 这是一个Java /JavaFX/SpringBoot项目,而不是Swing项目。我看到很多答案re: Swing。两个应用程序也在Gradle中设置,因此两个应用程序都有自己单独的命令,并且在CentOS 7中运行。两个应用程序都有自己的,单独的,。我相信最初的设计是为了,有目的地,从GUI中删除对数据的任

  • 问题内容: 在应用程序之间传递简单数据(例如String)的最佳方法是什么?字符串是发送方应用中已知的字段,接收方应用需要此字段。 我曾考虑将其存储在MODE_WORLD_READABLE SharedPreferences中,但我不一定知道包名称(该名称将存在于库中),该值可以由各种应用程序设置,因此很难查找。 我当时想两个应用程序都包含BroadcastReceivers。打开接收方应用程序后

  • 可以在多个类之间传递数据吗? 我试图实现的是“一个类设置某个类的值,另一个类访问它”(java初学者)

  • 问题内容: 我有两个单独的android应用程序,即AppA和AppB。我试图让AppA启动AppB(这是一个游戏应用程序)。用户玩完游戏(AppB)后,它将把游戏记录发送回AppA。 因此,AppA可以正确启动AppB,但是当用户玩完游戏(AppB)后,AppB在将数据发送回AppA时崩溃,并且出现了以下错误: 流程:com.joy.AppB,PID:20265 android.content.

  • 我正在开发两个应用程序。让第一个应用程序是APP1,第二个应用程序为APP2。现在在APP1中,我不提供任何用户权限,如INTERNET权限,但它将发送任何http url,如http://www.google.com我的第二个APP2将包含INTERNET等用户权限。Http请求将从APP1发送到APP2,APP2将响应该请求,然后将结果发送回APP1。最后APP1包含一个Web视图以显示结果。

  • 问题内容: 抱歉,如果我的问题是菜鸟。我正在使用pgsql 8.4运行Django 1.2,并且需要在从用户处获得输入后运行Java程序,进行一些计算并将结果返回给用户。 我是否可以知道在Java和Python Django之间传递数据的最佳方法是什么,以便解决上述情况?我听说过Jython,但是根据Django文档,它需要扩展名jython- Django,但目前不支持django1.2.x。我