java,用post方法提交数据,并且从服务器返回结果。
2014-08-07 10:16
375 查看
一下是客户端的代码:
一下是服务器端的servlet,以上是客户端把数据提交给了这个servlet。
public class testServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String usernameString = request.getParameter("username");
String password = request.getParameter("password");
System.out.println("=========" + password);
if (usernameString.equals("admin") && password.equals("1234")) {
out.print("login success");
}
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
//使用post向服务器提交数据。 public class HttpUtil { //private static String Path = "http://172.17.32.86:8080/TestServer/servlet/testServlet"; private static String Path = "http://192.168.3.2:8080/TestServer/servlet/testServlet"; private static URL url; public HttpUtil() { } static { try { url = new URL(Path); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static String sendPostMessage(Map<String, String> params, String encode) { StringBuffer sb = new StringBuffer(); if (params != null && !params.isEmpty()) { for (Map.Entry<String, String> entry : params.entrySet()) { try { sb.append(entry.getKey()) .append("=") .append(URLEncoder.encode(entry.getValue(), encode)) .append("&"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } sb.deleteCharAt(sb.length() - 1);// 删除最后一个& System.out.println(sb.toString()); try { HttpURLConnection connection = (HttpURLConnection) url .openConnection(); connection.setConnectTimeout(3000); connection.setDoInput(true);// 表示从服务器获取数据 connection.setDoOutput(true);// 表示想服务器写入数据 byte[] data = sb.toString().getBytes();// 字符数字变成字节数组 // 表示设置的请求体是文本类型 connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); connection.setRequestProperty("Content-Length", String.valueOf(data.length)); //获得输出流,向服务器输出数据 OutputStream outputStream = connection.getOutputStream(); outputStream.write(data); int code = connection.getResponseCode(); if (code == 200) { System.out.println("code====="+code); return changeInputStream(connection.getInputStream(), encode); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return ""; } /** * 将一个输入流转换为指定编码的字符串 * * @param inputStream * @param encode * @return */ private static String changeInputStream(InputStream inputStream, String encode) { // TODO Auto-generated method stub //创建一个内存字节流 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] data = new byte[1024]; int len = 0; String result=null; if (inputStream != null) { try { while ((len = inputStream.read(data)) != -1) { outputStream.write(data, 0, len); } //将字节转换为字符串 result = new String(outputStream.toByteArray(), encode); System.out.println("result=============="+result); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return result; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Map<String, String> params = new HashMap<String, String>(); params.put("username", "admin"); params.put("password", "1234"); sendPostMessage(params, "utf-8"); } }
一下是服务器端的servlet,以上是客户端把数据提交给了这个servlet。
public class testServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String usernameString = request.getParameter("username");
String password = request.getParameter("password");
System.out.println("=========" + password);
if (usernameString.equals("admin") && password.equals("1234")) {
out.print("login success");
}
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
相关文章推荐
- 客户端POST提交、服务器返回json格式数据的demo
- AJAX通过post提交数据,并获取XML格式返回结果
- Java 通过httpClient Post方式提交xml,并从服务端返回数据
- android Java 提交数据到服务器的两种方式中四种方法
- android中通过GET方法接收数据并通过xml解析数据,POST方法向服务器提交数据
- 客户端GET方法提交数据,服务器返回文件格式数据的demo
- Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据
- 向指定 URL 发送GET,POST方法的请求(传入指定url和参数,服务器返回字符串数据)
- PHP利用CURL方法模拟POST提交数据并获得返回值的小细节
- HttpUrlConnection Post提交数据到服务器、并得到服务器返回的数据
- 泛型方法,java map按照value值来比较大小并且返回最终结果
- C# 模拟post数据提交时 出现如下错误: System.Net.WebException: 远程服务器返回错误: (417) Expectation Failed 的解决办法
- PHP模拟POST提交数据并获得返回值之CURL方法
- Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据
- Android--向服务器提交数据的两种方法Post和Get
- Java 通过HttpURLConnection Post方式提交json,并从服务端返回json数据
- 初涉Ajax,以post或get方法发送数据,以json或xml形式接收服务器返回的请求
- Java 通过HttpClient Post方式提交json,并从服务端返回json数据
- Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据
- 使用Post方式提交数据到Tomcat服务器的方法