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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Oracle 函数编写[通俗易懂]

    Oracle 函数编写[通俗易懂]CREATEORREPLACEFUNCTIONf_homestay_count(wkt_polyCLOB)RETURNNUMBERISresultNUMBER;BEGIN SELECT COUNT(*)INTOresult FROM HOMESTAY_BASICT WHERE sdo_anyinteract( T.geom_po…

  • TransactionScope使用说明

    TransactionScope使用说明参考MSDN:http://msdn.microsoft.com/zh-cn/library/system.transactions.transactionscope.aspx转载自:http://www.cnblogs.com/blsong/archive/2010/08/13/1798987.html感谢原作者。TransactionScope是.NetFramework

  • NLTK FreqDist

    NLTK FreqDistFreqDisknltkFreqDisk函数能够统计数组当中单词出现的次数。text=[‘hadoop’,’spark’,’hive’,’hadoop’,’hadoop’,’spark’,’lucene’,’hadoop’,’spark’,’hive’,’hadoop’,’hadoop’,’spark’,’pig’,’zookeeper’,’flume’,’…

    2022年10月30日
  • linux中的ldd命令简介

    linux中的ldd命令简介在linux中,有些命令是大家通用的,比如ls,rm,mv,cp等等,这些我觉得没有必要再细说了。而有些命令,只有开发人员才会用到的,这类命令,作为程序员的我们,是有必要了解的,有的甚至需要熟练使用。有的人总说,这些命令不重要,用的时候去查就行了,这么多么扯淡的说法啊。具体用法细节是可以可查,但至少得知道有ldd这个东西吧。连ldd都不知道,怎么知道ldd是干啥的呢?

  • 添加和共享打印机的方法是_按名称选择共享打印机输入什么

    添加和共享打印机的方法是_按名称选择共享打印机输入什么在Windows10中,可以将打印机共享给网络上的多台电脑。若要从连接到打印机的电脑(主要电脑)共享打印机至未连接到打印机的辅助电脑,你必须设置共享打印机设置、将打印机连接到主要电脑(或者以无线方式或使用USB电缆),然后打开打印机。另外,请确保主电脑已打开、连接到打印机并连接到网络。注意共享打印机时,请确保已在主要和辅助电脑上设置了共享设置。此外,请确保你知道主要电脑的名称。有关详细信…

  • 常见的图像增强方法有_图像中值滤波的算法实现

    常见的图像增强方法有_图像中值滤波的算法实现1.对比度拉升采用了线性函数对图像的灰度值进行变换2.Gamma校正采用了非线性函数(指数函数)对图像的灰度值进行变换这两种方式的实质是对感兴趣的图像区域进行展宽,对不感兴趣的背景区域进行

发表回复

您的电子邮箱地址不会被公开。

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