本文共 1158 字,大约阅读时间需要 3 分钟。
有系统要基于原有的Web项目,开发客户端,由原有的Servlet提供请求处理。 技术关键词:Java,Servlet,Swing 这显然要用到Java网络编程,通过程序来模拟请求。 假设Servlet简化为如下代码: response.setContentType(
"text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println(
"你好");
}
finally {
out.close();
}
客户端简化为一个按钮和一个单行文本框。点击按钮则请求Servlet,并将响应文本显示到文本框中: private void btGetActionPerformed(java.awt.event.ActionEvent evt) {
String urlString = tfURL.getText();
StringBuffer document =
new StringBuffer();
try {
URL url =
new URL(urlString);
URLConnection conn = url.openConnection();
BufferedReader reader =
new BufferedReader(
new InputStreamReader(
conn.getInputStream(),
"UTF-8"));
String line =
null;
while ((line = reader.readLine()) !=
null) {
document.append(line +
"\r\n");
}
reader.close();
}
catch (MalformedURLException e) {
System.out.println(
"不能连接URL: " + urlString);
}
catch (IOException e) {
System.out.println(
"响应操作失败: " + urlString);
}
this.tfMessage.setText(document.toString());
}
注意其中 new InputStreamReader(conn.getInputStream(),
"UTF-8")
表示响应流采用UTF-8解析,这样就与Servlet编码一致起来,就不会出现乱码结果。英语系程序员真幸福,从来不用考虑编码问题,羡慕ing...... 本文转自 王杰瑞 51CTO博客,原文链接:http://blog.51cto.com/wangjierui/110426,如需转载请自行联系原作者