httpClient写简单的get请求访问百度网址和Springmvc本地controller

httpClient写简单的get请求访问百度网址和Springmvc本地controller

1,get请求访问百度网址

import java.net.URI;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
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;


public class TestGet {

	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
		//1,创建一个httpClient对象
		CloseableHttpClient client=HttpClients.createDefault();
		//2,创建uriBuilder 对于httpClient4.3访问指定页面url必须要使用http://开始
		URIBuilder uriBuilder=new URIBuilder("http://www.baidu.com")
		//4,创建httpget对象
		HttpGet httpGet=new HttpGet(uriBuilder.build());
		//5,设置请求报文头部的编码
		httpGet.setHeader(new BasicHeader("Content-Type", "application/x-www-form-urlencoded; utf-8"));
		//6,设置期望服务返回的编码
		httpGet.setHeader(new BasicHeader("Accept","text/plain;charset=utf-8"));
		//7,请求服务
		CloseableHttpResponse response=client.execute(httpGet);
		//8,获取请求返回码
		int statusCode=response.getStatusLine().getStatusCode();
		//9如果请求返回码是200,则说明请求成功
		if(statusCode==200){
			//10,获取返回实体
			HttpEntity entity=response.getEntity();
			//11,通过EntityUtils的一个工具类获取返回的内容
			String str=EntityUtils.toString(entity);
			System.out.println("请求成功的返回内容:"+str);
			
		}else{
			System.out.println("请求失败!");
		}
		response.close();
		client.close();
	}

}

2,访问springmvc本地启动的controller

main方法调用,本地启动的springMVC2工程,因此调用之前要先启动url的工程

import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.SimpleHttpConnectionManager;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.http.HttpResponse;  
import org.apache.http.client.ClientProtocolException;  
import org.apache.http.client.methods.HttpGet;  
import org.apache.http.impl.client.DefaultHttpClient;  

import com.alibaba.fastjson.JSONObject;
import com.sun.jdi.Method;
  
  
public class HTTPGetSample {  
    public static void main(String[] args) throws Exception {  
    	String url = "http://localhost:8080/springMVC2/view?aa=ddddddddddddddddddddd";  
        
		DefaultHttpClient client = new DefaultHttpClient();  
        HttpGet request = new HttpGet(url);  
          
        HttpResponse response = client.execute(request);  
        System.out.println("Response Code: " +  
        response.getStatusLine().getStatusCode());  
          
        BufferedReader rd = new BufferedReader(  
            new InputStreamReader(response.getEntity().getContent()));  
        String line = "";  
        while((line = rd.readLine()) != null) {  
        	System.out.println(line);  
        }
    } }

springmvc2的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;
    }
}

如果执行main方法时在springmvc2工程的控制台会打印出aa所代表的参数,说明调用成功,并传承成功。

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

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

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

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


相关推荐

  • java etl 简单实例_东方通ETL开发实例[通俗易懂]

    java etl 简单实例_东方通ETL开发实例[通俗易懂]东方通ETL开发实例下面通过一个简单的“OracleCDC增量抽取”实例,带大家感受一下TIETL的开发思路和强大的数据处理能力。功能需求:同一数据库(localhost_etl)下,现有cdc_source和cdc_target两张表如下:表cdc_source表cdc_target现表cdc_source的增量(增、删、改)需同步到cdc_target中TIETL环境下开发思路:类似于jav…

    2022年5月1日
    46
  • C++操作单链表ListNode「建议收藏」

    C++操作单链表ListNode通过C++进行单链表的创建、打印以及利用栈实现逆序打印。单链表的创建和打印#include<iostream>usingnamespacestd;//定义结构体structListNode{ intval; ListNode*next;};classoperateList{public: /*创建单链表*/ …

    2022年4月7日
    43
  • 深度残差网络(ResNet)之ResNet34的实现和个人浅见[通俗易懂]

    深度残差网络(ResNet)之ResNet34的实现和个人浅见[通俗易懂]残差网络是由来自MicrosoftResearch的4位学者提出的卷积神经网络,在2015年的ImageNet大规模视觉识别竞赛(ImageNetLargeScaleVisualRecognitionChallenge,ILSVRC)中获得了图像分类和物体识别的优胜。**残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接(shortcut),缓解了在深度神经网络中增加深度带来的梯度消失问题**。残差网络(ResNet)的网络结构图举例如下:

    2022年10月6日
    3
  • php测试工具_php单元测试

    php测试工具_php单元测试guzzle.png本文将介绍Guzzle,Guzzle在单元测试中的使用。来自Guzzle中文文档的解释:Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。接口简单:构建查询语句、POST请求、分流上传下载大文件、使用HTTPcookies、上传JSON数据等等。发送同步或异步的请求均使用相同的接口。使用PSR-7接口来请求、响应、分流,允许你使用其…

    2025年6月7日
    3
  • 大数据Hadoop生态圈介绍

    大数据Hadoop生态圈介绍大数据Hadoop生态圈-组件介绍Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠、高效、可伸缩等特点。Hadoop的核心组件是HDFS、MapReduce。随着处理任务不同,各种组件相继出现,丰富Hadoop生态圈,目前生态圈结构大致如图所示:根据服务对象和层次分为:数据来源层、数据传输层、数据存储层、资源管理层、数据计算层、任务调度层、业务…

    2022年5月11日
    47
  • MySQL可视化工具连不上或mysql启动不了

    MySQL可视化工具连不上或mysql启动不了在连接数据库是可能会遇到上面 这种情况 但是 不要慌 往下面看 首先 右击此电脑 gt 选择管理然后 双击再然后 找到 MySQL 改为自动动 保存 重启 MySQL 就 啦注意 如果是手动的 要记住 MySQL 在哪里启动 因为有可能会忘掉哟

    2025年9月12日
    6

发表回复

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

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