javascript – 如何保证一个类永远不会暴露客户端与Vaadin
作者:互联网
据我所知,Vaadin使用一些逻辑只显示UI代码,然后调用服务器通过Javascript访问代码.但是,假设我有一个监听器,例如一些引用其他类的代码.所以,假设我有类似的东西:
PojoClass data = DatabaseClass.getDataFromDatabase();
doSomeProcessingOnData(data);
..
myTextField.setValue(data.getSomeValue());
..
现在,我如何确保DatabaseClass背后的代码不会作为Javascript公开.我认为这恰好发生了,但更具体地说,怎么说doSomeProcessingOnData(数据)方法可能会调用4-5个不同的类,这些类有一些内部IP属性不被公开?我理解PojoClass会暴露,但我不希望暴露doSomeProcessingOnData(数据)的内部.
解决方法:
业务逻辑停留在服务器端
您的Vaadin应用程序的业务逻辑在纯Java中保留在服务器端.所以没有接触的风险.
Vaadin将用户界面移植到客户端.
例如,单击按钮时,客户端JavaScript库会向服务器发送信号,以在服务器上运行ClickListener代码.如果服务器端Java代码导致用户界面小部件状态发生变化,则Vaadin会将这些小部件状态更改中继到客户端的JavaScript库,以便向用户进行可视更新.客户端仍然没有意识到连接到数据库的服务器端Java代码(在Web服务上调用)打开了与数据源的套接字连接,进行了一些会计计算,导致新的“总计”值,发布了消息发送到队列,发送电子邮件,并将条目写入审计跟踪.所有客户端都知道:“点击按钮” – > “Grand Total textField具有显示的新值”.
标签:java,javascript,java-ee,vaadin,vaadin7 来源: https://codeday.me/bug/20190628/1316029.html