post请求百度网址内容和访问本地springmvc工程controller

post请求百度网址内容和访问本地springmvc工程controller

1,访问百度

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;


public class SendPost {

	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
		 PrintWriter out = null;
		    BufferedReader in = null;
		    String result = "";
		    try {
		        URL realUrl = new URL("http://www.baidu.com");
		        URLConnection conn = realUrl.openConnection();
		        conn.setConnectTimeout(5000);
		        conn.setReadTimeout(10*1000);
		        conn.setDoOutput(true); // 发送POST请求必须设置如下两行
		        conn.setDoInput(true);
		        out = new PrintWriter(conn.getOutputStream());
		        out.flush();
		        in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
		        String line;
		        while ((line = in.readLine()) != null) {
		            result += line;
		            System.out.println(line);
		        }
		    } catch (Exception e) {
		        throw e; // 异常外抛
		    } finally{
		        try{
		            if(out!=null)out.close();
		            if(in!=null) in.close();
		        }
		        catch(Exception ex){
		        }
		    }
	}

}

2,访问本地启动的springmvc工程的controller

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicHeader;
import org.apache.http.util.EntityUtils;

import com.alibaba.fastjson.JSONObject;
import com.allinfinance.cis.credit.api.bean.PrdReq;
import com.sun.tools.javac.util.List;
public class TestPost2 {
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
//		1,创建httpClient对象
		HttpClient client = new HttpClient();
//		2.创建httpPost对象
		PostMethod postMethod = new PostMethod("http://localhost:8080/springMVC2/view");
		postMethod.addParameter("aa", "--------------");
//		3,设置一个list,以键值对存放请求内容
//		List list=null;
//		list.add(1,"aa");
//		list.add(2,"bb");
//		4,将对象包装成一个Entity对象
//		StringEntity entity=new UrlEncodedFormEntity(,"utf-8");
//		5,设置请求内容
//		httpPost.setEntity(entity);
//		6,设置请求报文头部编码
//		httpPost.setHeader(new BasicHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8"));
//		7,设置期望返回值编码
//		httpPost.setHeader(new BasicHeader("Accept","test/plain;charset=utf-8"));
//		8,执行post请求
//		9,获取响应码
		int statusCode=client.executeMethod(postMethod);
//		int statusCode=response.getStatusLine().getStatusCode();
//		10,如果响应码等于200 说明返回请求成功
		if(statusCode==200){
//			11,,获取数据
			String rs = postMethod.getResponseBodyAsString();
//			12,输出
			System.out.println("请求成功,输出结果"+rs);
			
		}else{
//			13,输出
			System.out.println("请求失败!");
		}
	}

}

springmvc工程的controller类:

package com.springmvc.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class ViewController {

    @RequestMapping("/view")
    public ModelAndView view(HttpServletRequest request,String aa){
        ModelAndView mav = new ModelAndView();
        String contextPath=request.getContextPath();
        mav.addObject("context",contextPath);
        mav.setViewName("index");
        System.out.println("SSSSSSSSSSSSSSSSSSSss"+aa);
        return mav;
    }
}

springmvc工程的下载地址:http://download.csdn.net/download/csdnliuxin123524/10001431

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106279.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 给“小白”图示讲解OFDM的原理

    给“小白”图示讲解OFDM的原理注:本文首发在QQ空间(因为需要同行的熟人们指正)。因QQ的封闭性,这里重贴一次。本文地址:http://blog.csdn.net/madongchunqiu/article/details/18614233  说明:以下文字,灰色为吹水文,黑色为正文,蓝色为采用实际应用中的参数所作的说明。  起因是这样的。时间回到07年底,4G方兴之时,同桌隔壁的隔壁”小白”同学说看不太明白OF…

    2022年6月7日
    59
  • Android面试题(四大组件篇)[通俗易懂]

    Android面试题(四大组件篇)[通俗易懂]Android面试题(四大组件篇)window、进程、线程篇Android面试题(数据存储、view篇)ActivityQ:说下Activity的生命周期?Q:onStart()和onResume()/onPause()和onStop()的区别?是否位于前台,对用户是否可见的区别Q:ActivityA启动另一个ActivityB会回调哪些方法?如果A…

    2022年5月21日
    43
  • 先学java再学python_java和python应该先学好哪个呢

    先学java再学python_java和python应该先学好哪个呢java和python应该先学好哪个呢发布时间:2020-07-3011:21:41来源:亿速云阅读:82作者:清晨不懂java和python应该先学好哪个呢?其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。作为一名Java程序员,肯定会建议你先学Java,然后再学Python,但如果你问一个Python程序员,可能会得到一个完全相反…

    2022年7月8日
    21
  • C与C++的主要区别

    C与C++的主要区别

    2022年2月7日
    53
  • 写给 python 程序员的 OpenGL 教程

    OpenGL是OpenGraphicsLibrary的简写,意为“开放式图形库”,是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。OpenGL不是一个独立的平台,因此,它需要借助于一种编程语言才能被使用。C/C++/python/java都可以很好支持OpengGL,我当然习惯性选择python语言。如果读者是python程序员,并且了解numpy,接下来的阅读应该不会有任何障碍;否则,我建议先花半小时学习一下python语言。

    2022年4月5日
    155
  • 什么是WPF_windows程序设计教程

    什么是WPF_windows程序设计教程windows的消息具有以下两个参数:(1)字参数(wParam)(2)长参数(lParam)  字参数和长参数都是32位整数,用于提供消息的附带消息,是消息传递过程中参数的载体。附加信息的消息号取决于消息号。一、wParam和lParam消息 :部分说明需要查看MSDN例如:1 WM_PAINT消息,LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高。…

    2022年8月18日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号