Swing如何与web服务器交互数据。

2025-02-22 14:29:15
推荐回答(5个)
回答1:

后台逻辑基本上不用变动,如果之前有些操作是需要跳转完成的话,而不是返回json的数据,就需要改造action、servlet,如果有些必须的值是需要在放置在session中的话,也需要改造,客户端实现这个比较麻烦。也就是说后台改动基本上很少,尤其是使用了ext的。
客户端的话可以使用java.net.HttpURLConnection或者是Apache的HttpClient,推荐使用HttpClient。
以下是HttpClient发起post请求的方式
private String doPost(NameValuePair[] params, String url) {
HttpClient client = new HttpClient();
PostMethod post = new PostMethod(url);
post.addParameters(params);
try {
int status = client.executeMethod(post);

if (HttpStatus.SC_OK == status) {
String responseText = new String(post.getResponseBody(),
Configuration.httpencoding);
logger4pa.debug(responseText);
post.releaseConnection();
return responseText;
} else {
return "GUI.commons.systemBusy";
}
} catch (HttpException e) {
logger4pa.error("LOG.proxy.dynamicPassword.disconnected");
return "GUI.commons.systemBusy";
} catch (IOException e) {
logger4pa.error("LOG.proxy.dynamicPassword.disconnected");
return "GUI.commons.systemBusy";
}

}

回答2:

Swing在客户端,安装运行,一般不怎么和web交互数据,Applet则可以,Applet可以镶嵌在网页中,可以直接和服务器打交道。
在我觉得你url(主要为了跳转页面、提交数据),应该是Swing/AWT中的事件处理机制(事件监听),比如你要提交数据,可以为某个按钮或其他组件增加事件监听器,通过隐藏、显示来切换页面(Swing中叫面板JPanel)。

不知道对你有木有帮助。。

回答3:

看项目组员对两者熟悉程度,Swt/JFace可能性能会好一些,首要考虑的是对哪种更熟悉,或者说你更喜欢哪种。另外如果要跨平台,swt版本要对应。

回答4:

换成Swing,意思就是从web应用换成了桌面应用了吧,如果是远程访问数据库,貌似要用的socket不知道是不是这样子的,模拟http请求对这个貌似无用

回答5:

Apache HttpClient