主要是为了转发个帖子,Mark一下。
工作的时候遇到个问题,打包的war包部署到线上环境时发现post请求都发到了cdn.xx.com去了,这才产生了想法。
整个项目使用Google GWT的框架进行开发,GWT的好处在于使用Java的方式来写JS,并且客户端与服务端采用RPC的方式进行通讯,简化了不必要的序列化反序列化的操作,简化了开发过程。那么最终又是如何生成js代码并和后台通信的呢。
在使用ANT进行编译的时候,首先编译java后台代码,之后调用GWT的编译器com.google.gwt.dev.Compiler,这里需要给他配置src文件加的地址,并可加上localworkers style等参数。这时候就会由Compiler去进行编译工作。
那么编译出来的js肯定是需要和后台servlet进行通信的,默认情况下gwt编译出来的js代码都是不加host的,也就是说google鼓励js代码和后台代码部署在同一个机器上,而css和图片可以放到cdn上。这样如果js部署在cdn服务器上的话就不适用自己的场景了,也就是需要在rpc请求时手动的加上前面host的地址。
这里还有个在rpcImpl中实现的序列化策略的问题,这里还没有弄得很清楚,以后再加上
来源:oschina
链接:https://my.oschina.net/u/73209/blog/160950