客户端代码示例:
public static void main(String[] args) {
String urlPath = "http://localhost:8080/web1/servletTestCallBack.hts"; try { String param = "name=" + URLEncoder.encode("测试","UTF-8"); //建立连接 URL url = new URL(urlPath + "?" + param); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); httpConn.setDoOutput(true); // 需要输出 httpConn.setDoInput(true); // 需要输入 httpConn.setUseCaches(false); // 不允许缓存 httpConn.setRequestMethod("GET"); //设置GET方式连接 //设置请求属性 httpConn.setRequestProperty("Content-Type", "text/plain"); //表单提交 "application/x-www-form-urlencoded" httpConn.setRequestProperty("Connection", "Keep-Alive"); // 维持长连接 httpConn.setRequestProperty("Charset", "UTF-8"); // 字符编码 httpConn.setConnectTimeout(5*1000); // 设置连接服务器超时时间 httpConn.setReadTimeout(5*1000); // 设置从主机读取数据超时(单位:毫秒) httpConn.connect(); //连接 //获得响应状态 int resultCode = httpConn.getResponseCode(); if(HttpURLConnection.HTTP_OK == resultCode){ StringBuffer sb = new StringBuffer(); String readLine = new String(); BufferedReader responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"UTF-8")); while((readLine = responseReader.readLine())!=null){ sb.append(readLine).append("\n"); } responseReader.close(); System.out.println("响应数据:"+sb.toString()); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }}
服务器端代码示例:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {request.setCharacterEncoding("UTF-8");
//得到客户端发送过来内容的类型 System.out.println("客户端发送过来内容的类型:" + request.getContentType()); String name = request.getParameter("name"); //获取request对象以ISO8859-1字符编码接收到的原始数据的字节数组,然后通过字节数组以指定的编码构建字符串,解决乱码问题。 name = new String(name.getBytes("ISO8859-1"),"UTF-8"); System.out.println("客户端传递的参数name:" + name); //响应客户端 response.setCharacterEncoding("UTF-8"); response.getWriter().print("接受到信息,ok!"); }@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); }